2017-06-13 73 views
1
A=0 
T=0 
while True: 
    number = input("Input an integer or 'Q':") 
    print() 

#Quit program if Q or word beginning with q is input 
    if number.lower().startswith("q"): 
     print("Quit",'\n'"Total",'\n',T) 
     break 
#run program sum inputs 

    elif number.isdigit(): 
     A = A+1 
     T += int(number) 

#if A input display inputs and total inputs sum 

    elif number.lower()=="a": 
     print(A,'\n' "total",'\n',T) 
     break 

#iF T input calculate inputs sum# 

    elif number.lower()=="t": 
     print("Total"'\n',T) 
     break 
#if not integer or display message 

    else: #number.isalpha(): 

     print(number, "Invalid input") 

当我运行A它不会给我的输入只是输入的数量。我如何才能打印所有输入?同样,如果我将输入框留空,我将无效输入。为什么是这样?显示和计数输入?

+0

它提供输入。在'A'之前加'\ n': 'print('\ n输入:',A,'total:',T)' – Tamar

+0

虽然感谢你,我不需要它打印字符串“inputs “我需要的是:它列出我输入的输入,即1,2,3,10,15总计31. – john

回答

2

我从你的代码的理解,它看起来好像你只每次你把在输入时增加一个变量A如果你想输入一个名单,我认为有些事情是这样的:

while循环之前:

list_of_inputs = [] 

在while循环:

elif number.isdigit(): 
    list_of_inputs.append(number) 

然后你就可以在以后打印输入此列表,只需加入:

elif number.lower() == "t": 
    print (list_of_inputs, "\n", "total\n", T) 

此外,当您输入任何内容时,您会收到无效输入,因为您没有传递任何if语句。什么都不是“a”,也不是“t”,也不是“q”,也不是一个数字。希望我回答你的问题。

+0

非常感谢,这有很大帮助。 – john