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

2024-04-18 09:29:07 发布

您现在位置:Python中文网/ 问答频道 /正文

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


Tags: 函数答案程序数字事情公式sumjoin
3条回答

一种有趣的方法是一次打印一点。在打印中使用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

你可以试试这个

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

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

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)

输出:

1+2+3=6 

相关问题 更多 >