我开始学习Python,而且我上课了。我需要创建程序,在那里你首先要求插入数字(你插入例如#34; 5"),结果应该是从1到你插入的这个数字的数字之和(在这个例子中是1+ 2 + 3 + 4 + 5)。我创建了一个程序,列出了插入数字的数字,但我无法完成它 - 创建这些数字的总和。这是我的代码:
print ("Insert the digit")
digit = int(input())
i = 0
while i < (digit):
i = i + 1
print (i)
答案 0 :(得分:5)
正如其他人所指出的,你没有保持一个总计,你可以在这里使用数学技巧,例如:
n = int(input('Enter digit: '))
print('Total sum is:', int(n*(n/2 + .5)))
这对于较大的n
来说效率要高得多......因此,您可以使用该公式在恒定时间内计算{{1}的任何值,而不是构建生成器并一次求和。 }。
答案 1 :(得分:3)
您可以尝试以下操作:
i = 0
total = 0
while i < digit:
i = i + 1 # can be i += 1
total = total + i # can be total += i
print (total)
也可以使用 range
函数。你可以读到这个。
答案 2 :(得分:3)
你可以使用范围和:
my_sum = sum(range(1,digit+1))
范围将为您提供整数列表,语法range([start],stop)
,它将结束总是少一个,请参阅下面的演示
演示:
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1,10)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
sum
的演示:
>>> my_num = range(1,10)
>>> my_num
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> sum(my_num)
45
答案 3 :(得分:0)
您也可以尝试
print ("Insert the digit")
digit = int(input())
print(sum(range(digit+1)))
此处range
是一个功能,它会列出0
到digit
的所有数字,而sum
会计算总数
答案 4 :(得分:0)
真正的pythonic方式是执行以下操作:
print ("Insert the digit")
digit = int(input())
i = 0
while i < (digit):
i = i + 1
print (i)
summed = sum(range(digit+1))
print(summed)
注意:您不应使用变量名称sum,因为这是一个保留符号(语言实习生)