Python 找到从x到y的数字之和,程序将答案打印为;x+;(x+;1)…+;y=(从x到y的总和);

Python 找到从x到y的数字之和,程序将答案打印为;x+;(x+;1)…+;y=(从x到y的总和);,python,imperative-programming,Python,Imperative Programming,例如,从1到3的数字之和将被打印为1+2+3=6;程序将打印出答案以及加在一起的数字。你会怎么做?非常感谢您的帮助,因为我所做的一切都不起作用。我一直在尝试使用求和公式得到答案,并使用循环将数字相加。。。但是没有成功。虽然提示是用于循环,但我不确定如何将其合并到程序中。练习提示还说,我不能使用sum或.join函数:(,我知道这会使事情变得更简单。天哪,我很抱歉忘记提及它。您可以试试这个 def problem1_3(n): return n + problem1_3(n-1) if n

例如,从1到3的数字之和将被打印为1+2+3=6;程序将打印出答案以及加在一起的数字。你会怎么做?非常感谢您的帮助,因为我所做的一切都不起作用。我一直在尝试使用求和公式得到答案,并使用循环将数字相加。。。但是没有成功。虽然提示是用于循环,但我不确定如何将其合并到程序中。练习提示还说,我不能使用sum或.join函数:(,我知道这会使事情变得更简单。天哪,我很抱歉忘记提及它。

您可以试试这个

def problem1_3(n):
   return n + problem1_3(n-1) if n > 1 else 1
或者试试下面

n = 0
sum = 10
for num in range(0, n+1, 1):
   sum = sum+num
print("SUM of first ", n, "numbers is: ", sum )
输出

SUM of first  10 numbers is:  55
试试这个

x = 3
y = 6

for i in range(x, y+1):
    opt_str += str(i) + "+"
    sum += i

print(opt_str[:-1] + "=" + str(sum))
输出:

3+4+5+6=18
1+2+3=6 

您可以使用连接和列表理解来组装字符串

n1 = 1
n2 = 3

li = str(n1)+"".join(["+"+str(i) for i in range(n1+1,n2+1)])+"="+str(sum(range(n1,n2+1)))
print (li)
输出:

3+4+5+6=18
1+2+3=6 

一种有趣的方法是一次打印一点。在打印中使用
end='
以避免换行:

num = 3
sum = 0

for i in range(1,num+1):
    sum += i
    if i>1:
        print ("+", end='')
    print(i, end='')
print("=%d" % sum)
1+2+3=6


最简单的方法是使用
for
循环和
print()
函数

def func(x,y):
    sum = 0

    #Loop for adding
    for i in range(x,y+1):
        sum+=i

    #Loop for printing
    for i in range(x,y+1):
        if i == y:
            print(i,end = '')
        else: print(i," + ",end = '')
    print(" = ",sum)
print()
函数的
end
参数指定打印的字符串将以什么结尾,而不是默认的换行符

以你为例,
func(1,3)
将输出:
1+2+3=6
以下是代码:

print("Finding the sum of numbers from x to y")
print("Please specify x & y(x<=y):")
x = int(input(" x:"))
y = int(input(" y:"))
numbers = [x]
result = f"Sum: {x}"

for i in range(1,y-x+1):
    numbers.append(x+i)
    result += f"+({x}+{i})"
    
print(f"{result} = {sum(numbers)}")
print(“查找从x到y的数字之和”)

print(“请指定x&y(xCan't we't use join?@AstikGabani忘了提到……不允许使用join或sum函数)您可以发布您尝试过的内容吗?看起来您已经得到了很多好答案,但是发布了您尝试过的代码(即使它不起作用)这表明你做出了真诚的努力。如果你想得到更多答案,以及以后的问题,请记住这一点,但我理解,因为你是stackoverflow的新手。干杯!@DerekO我下次发帖时一定会记住这一点!谢谢你的提示!请参阅帖子下方的OP评论:不允许使用join或sum函数“不,我忘了提到它……这是我的错。我现在修复了帖子。