如何接受序列的用户输入?

时间:2018-12-18 02:13:48

标签: python while-loop numbers

我是python的新手,我正在尝试用她的代码帮助一位朋友。该代码使用while循环从用户接收输入,直到输入为0。我不习惯python语法,因此我对如何接收用户输入有些困惑。我不知道我在做什么错。这是我的代码:

sum = 0
number = input()
while number != 0:
   number = input()
   sum += number
   if number == 0:
     break

3 个答案:

答案 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