2017-05-31 116 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))

相关问题