2014-02-16 73 views
-5

僞代碼如何創建用戶輸入一個Python列表,然後輸出列表細節

def main(): 
    create an empty list 
    value = getInput() 
    while value isnt zero: 
    add value to the list 
    value = getInput() 
    printOutput(list) 

def getInput(): 
    prompt the user for a value 
    make sure that the value is an int (convert to int) 
    return the number 

def printOutput(list): 
    print out the number of input values 
    print out the individual input values 
    print out the sum of the input values 
+1

既然你已經能夠制定已經僞代碼,什麼是你真正遇到問題了嗎? – Dolda2000

+0

究竟Dolda2000, –

+0

對不起,這是賦值說明中給出的內容。我試圖翻譯成python代碼,但它返回錯誤。 – user3315421

回答

0

你的問題是,當你定義和調用printOutput,你的名字的說法list。但是,在main()printOutput中,所使用的變量實際上都被命名爲num。什麼情況是這樣的:

  1. main電話printOutput(list),通過它內置的list
  2. printOutput接受這樣的說法,並將其分配給本地名稱list;和
  3. printOutput的第一行嘗試使用num,這不在範圍之內,導致NameError

您應該編輯通話和printOutput定義中使用numlist(事實上,你永遠不應該命名變量陰影內置插件一樣listint等)。我懷疑他的論點在僞代碼中被稱爲list,以顯示函數應該期望的對象的類型。

0

我相信你正在尋找的東西是這樣的:

def getInput(): 
try: 
    value=int(input("Enter a value: ")) 
except ValueError: 
    value=int(input("You must enter a number: ")) 
return value 


def printOutput(lis): 
    print(len(lis)) 
    print(lis) 
    print(sum(lis)) 

def main(): 
list_1=[] 
value=getInput() 
while value!=0: 
    list_1+=[value] 
    value=getInput() 
printOutput(list_1) 

main() 
相關問題