我是python的新手,我正在尝试用她的代码帮助一位朋友。该代码使用while循环从用户接收输入,直到输入为0。我不习惯python语法,因此我对如何接收用户输入有些困惑。我不知道我在做什么错。这是我的代码:
sum = 0
number = input()
while number != 0:
number = input()
sum += number
if number == 0:
break
答案 0 :(得分:0)
不需要最后一个if
,也可以输入int
输入:
sum = 0
number = int(input())
while number != 0:
number = int(input())
sum += number
您实际上可以这样做:
number=1
while number!=0:
number = int(input())
答案 1 :(得分:0)
在您的示例中,while number != 0:
和if number == 0: break
都在控制何时退出循环。为避免重复自己,您可以只用while True
替换第一个条件,而只保留break
。
还要添加,因此,最好将读取的输入(是字符串)转换为带有int(input())
之类的数字。
最后,使用像sum
这样的变量名是一个坏主意,因为这会“隐藏”内置名称sum
。
总而言之,这是另一种选择:
total = 0
while True:
number = int(input())
total += number
if number == 0:
break
print(total)
答案 2 :(得分:0)
# Declare list for all inputs
input_list = []
# start the loop
while True:
# prompt user input
user_input = int(input("Input an element: "))
# print user input
print("Your current input is: ", user_input)
# if user input not equal to 0
if user_input != 0:
# append user input into the list
input_list.append(user_input)
# else stop the loop
else:
break
# sum up all the inputs in the list and print the result out
input_sum = sum(input_list)
print ("The sum is: ", input_sum)
如果您不想使用list
。
input_list = 0
while True:
user_input = int(input("Input an element: "))
print("Your current input is: ", user_input)
if user_input != 0:
input_list += user_input
else:
break
print ("The sum is: ", input_list)
raw_input('Text here') # Python 2.x
input('Text here') # Python 3.x