Python 3.4.2 |循环输入直到设定量

时间:2016-04-16 21:29:48

标签: python

学习python的基础知识,我遇到了一个问题。我确定这是一个简单的修复。我想在计算min,max等之前让我的程序获得20个不同的输入

def main():
    number = valueInput()
    display(number)

def valueInput():
    print("Please enter 20 random numbers")
    values = []
    for i in range(20):
        value1 =(int(input("Enter a random number " + str(i + 1) + ": ")))
        values.append(value1)
        return values

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

main()

我可以通过重复这一行来实现它:

value1 =(int(input("Enter a random number " + str(i + 1) + ": ")))

到第20个数字,但必须有一种方法,使它更短,更清洁。我再次成为初学者,所以任何解释都会非常感激。

2 个答案:

答案 0 :(得分:2)

修复程序所需要做的就是删除四个空格:

def valueInput():
    print("Please enter 20 random numbers")
    values = []
    for i in range(20):
        value1 =(int(input("Enter a random number " + str(i + 1) + ": ")))
        values.append(value1)
    return values

上面一个块中的最后一行已经缩放了一个级别。它不是在第一次循环之后返回,而是让循环完成,然后返回结果list

答案 1 :(得分:0)

您也可以更改:

values = []
for i in range(20):
    value1 =(int(input("Enter a random number " + str(i + 1) + ": ")))
    values.append(value1)
    return values

部分:

values = [int(input("Enter a random number " + str(x + 1) + ": ")) for x in list(range(20))]
return values

您可以查看build in functions