2016-04-16 12 views
0

Pythonの基礎を学び、問題を横断しています。私はそれが簡単な修正だと確信しています。私はそれがこの行を繰り返すことによって、仕事を得ることができますPython 3.4.2 |設定量までループ入力

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() 

など、最大、私のプログラムは分を計算する前に、20個の異なる入力を取得するために取得しようとしている:

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

20日にそれを短くしてきれいにする道がなければなりません。再び私は初心者ですので、どんな説明も大変ありがとうございます。

答えて

2

、あなたのプログラムを修正しなければならないすべては、4つのスペースを削除します:

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 

上記1つのレベルによって、インデントされたブロック内の最後の行。最初のループの後でループを終了するのではなく、ループを完了させ、結果としてlistを返します。

+0

をチェックアウトすることができます。ありがとうございました! – vubbz

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

関連する問題