2017-06-13 71 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