2016-04-08 10 views
-1
numlist = [] 
maxnumlist = 20 
while len(numlist) < maxnumlist: 
    item = input("Enter a number: ") 
numlist.append(item) 
print numlist 
print "Here are some stats" 
print (numlist) 
lowestnum = min(numlist) 
highestnum = max(numlist) 
total = sum(numlist) 
ave = float(sum(numlist))/len(numlist) 
print (lowestnum) 
print (highestnum) 
print (total) 
print (ave) 
input("\n\nPress the enter key to exit.") 

私はこの方法を実行するためのプログラムが必要です: ユーザーは任意の番号を入力し、20回に分けて(したがって、質問は20回ループしている) Pythonはすべて、最近、入力された数値をとり、合計を計算し、最小値、最大値、と平均。 Pythonはその計算を表示/表示しますPython:20でループを止め、結果をユーザーが入力したリストに出力する方法は?

何らかの理由で、何を試しても、正しく実行されません。私はこれに文字通り6日を費やしてしまい、失われました。私はちょうど私がそれから学び、最後に移動しようとすることができますので、これを上に取得したいと思います。私はそれが超簡単な修正だと思うが、それは私を超えている。それはあなたのエラーメッセージを表示せずに言うのは難しいのですが、私は信じているリストが成長されることはありませんし、しばらくは無限回

numlist = [] 
maxnumlist = 20 
while len(numlist) < maxnumlist: 
    item = input("Enter a number: ") 
    # notice this statement is inside while loop 
    numlist.append(item) 
print numlist 
print "Here are some stats" 
print (numlist) 
lowestnum = min(numlist) 
highestnum = max(numlist) 
total = sum(numlist) 
ave = float(sum(numlist))/len(numlist) 
print (lowestnum) 
print (highestnum) 
print (total) 
print (ave) 
input("\n\nPress the enter key to exit.") 

答えて

0

あなたのインデントがnumlist.append(item)間違っているが、whileループの外にありますあなたがする必要があるのは、numlist.append(item)行のインデントです。コードが今読み取ると、numlist.append(item)whileループの外にあるので、ユーザは20個の数字を入力しますが、numlistappendの最後の数字だけを入力します。指摘したように

+0

http://pastebin.com/iXksi21h THIS働きました!まあ、私は完全なばかのように感じる。それが取ったすべては、インデントされた... – Zii

+0

それはあなたを助けてうれしい – sid

0

を実行しているので、

おかげ

+0

私はまだこれがいかに簡単だったか信じられない...うわ。ありがとうございました! 誰も私の質問が-3である理由を知っていますか?私は間違った方法でそれを尋ねましたか? – Zii

+0

私はなぜ人々がそれを投票していたのかわかりませんが、元の投稿にエラーメッセージや間違った出力を含めた場合、将来的には助けがさらに簡単になります。たとえば、あなたのコードではエラーは発生しませんが、 'numlist'を印刷するときには、最新の' item'しか得られていないと言えるかもしれません。 – Jon

0

、あなたは1行が

結果

numlist = [] 
maxnumlist = 20 
while len(numlist) < maxnumlist: 
    item = input("Enter a number: ") 
    numlist.append(item) 

print numlist 
print "Here are some stats" 
print (numlist) 
lowestnum = min(numlist) 
highestnum = max(numlist) 
total = sum(numlist) 
ave = float(sum(numlist))/len(numlist) 
print (lowestnum) 
print (highestnum) 
print (total) 
print (ave) 
input("\n\nPress the enter key to exit.") 
間違ってインデントされている:

Enter a number: 1 
Enter a number: 2 
Enter a number: 3 
Enter a number: 4 
Enter a number: 5 
Enter a number: 6 
Enter a number: 7 
Enter a number: 8 
Enter a number: 9 
Enter a number: 10 
Enter a number: 11 
Enter a number: 12 
Enter a number: 13 
Enter a number: 14 
Enter a number: 15 
Enter a number: 16 
Enter a number: 17 
Enter a number: 18 
Enter a number: 19 
Enter a number: 20 
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] 
Here are some stats 
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] 
1 
20 
210 
10.5 
+0

それは奇妙な部分です、私は同じ行の数字の直前にも統計を表示したかったのですが、私はこの方法でしか動作しませんでしたhttp://pastebin.com/iXksi21h – Zii

関連する問題