[英]How do I add the user inputs together?
number = 0
def sumDigits(number):
while True:
number = int(input("Please enter a number (enter 0 to exit):"))
if number == 0:
sum = number + number
print("The sum is",sum)
break
print(sumDigits(number))
输入 0 后,程序输出“总和为 0”,然后在下一行输出“无”。我不确定为什么会出现“无”。
我需要该程序将所有用户输入添加在一起。
您可以制作一个列表,并 append 用户输入该列表的所有值。 然后使用内置的sum
function(将列表中的所有值相加),并返回结果。
number = 0
lst = []
def sumDigits(number):
while True:
number = int(input("Please enter a number (enter 0 to exit):"))
lst.append(number)
if number == 0:
add = sum(lst)
return f"The sum is {add}"
break
print(sumDigits(number))
您的程序以前无法运行,因为您只是添加了玩家输入的当前数字,该数字始终0
,并且您没有返回任何值,这就是您得到None
的原因。
另一个旁注:不要命名变量sum
,因为正如我上面所说,它是内置的 function 。
使用另一个变量来保存总数,并在每次循环中添加到它。
def sumDigits(number):
total = 0
while True:
number = int(input("Please enter a number (enter 0 to exit):"))
if number == 0:
print("The sum is",total)
break
total += number
有多个错误。 首先是如果您执行print(sumDigits(number))
,则打印 sumDigits function 的返回值。 您可以使用“return”关键字来执行此操作。 其次是行sum = number + number
。 这里的第一个问题是 sum 是一个内置的 function ,这意味着您不能将其用作变量标识符。 第二个问题是,在这种情况下,总和等于相同的数字乘以 2,而不是两个不同的数字相加。
您想要做的是如下所示:
number = 0
def sumDigits(number):
while True:
new_number = int(input("Please enter a number (enter 0 to exit): "))
if not new_number == 0:
number += new_number
else: break
print(sumDigits(number))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.