2017-05-31 115 views
0

第一次輸入數據時,它不會運行calc函數,它只是從main()重置。一旦數據再次輸入,數據輸入到計算功能。我真的很感激幫助!Python:程序在運行兩次之前不會返回數據

def main(): 
    numbers = get_val() 
    get_calc(numbers) 

def get_val(): 
    print("Please enter 10 numbers:") 
    values = [] 
    for i in range(10): 
     value = int(input("Enter a number:")) 
     values.append(value) 
    return values 

def get_calc(numbers): 
    list1 = get_val() 
    print(list1) 
    print("The lowest number is", min(numbers)) 
    print("The highest number is", max(numbers)) 
    print("The sum of the numbers is", sum(numbers)) 
    print("The average of the numbers is", sum(numbers)/len(numbers)) 
main() 

回答

0

你打給get_val()兩次。第一次,你怎麼稱呼它在main()

def main(): 
    numbers = get_val() 

第二次你調用它get_calc()

def get_calc(numbers): 
    list1 = get_val() 
    print(list1) 
    ... 

這意味着,一旦你打電話爲主,它計算numbers,並將其傳遞到get_calc()。但是,在get_calc()中,您還計算另一個數字列表:list1。您打印它,然後繼續使用numbers

它應該是:

def main(): 
    numbers = get_val() 
    get_calc(numbers) 

def get_val(): 
    print("Please enter 10 numbers:") 
    values = [] 
    for i in range(10): 
     value = int(input("Enter a number:")) 
     values.append(value) 
    return values 

def get_calc(numbers): 
    print(numbers) 
    print("The lowest number is", min(numbers)) 
    print("The highest number is", max(numbers)) 
    print("The sum of the numbers is", sum(numbers)) 
    print("The average of the numbers is", sum(numbers)/len(numbers)) 
main() 
+1

哦,呃,我不知道爲什麼我重新定義了一個新變量。非常感謝! – Bbtopher

+0

不用擔心,很高興我能幫上忙!如果它解決了您的問題,請考慮[接受](https://stackoverflow.com/help/someone-answers)答案。 – cegas

0

在get_calc功能,你問用戶獲得數多一個。 def get_calc(numbers): list1 = numbers #I think this is what you want. print(list1) print("The lowest number is", min(numbers)) print("The highest number is", max(numbers)) print("The sum of the numbers is", sum(numbers)) print("The average of the numbers is", sum(numbers)/len(numbers))

相關問題