学习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个数字,但必须有一种方法,使它更短,更清洁。我再次成为初学者,所以任何解释都会非常感激。
答案 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