2016-11-02 5 views
1
name1 = input("What is your first name: ") 
name2 = input("What is your last name: ") 
grades = [] 
prompt = "Enter your grade or enter '1234' to get your letter grade and average: " 

print('Please enter your grades:') 
grade1 = input(prompt).strip() 

while (prompt != 1234): 
    grades.append(grade1) 
    grade1 = input(prompt).strip() 

else: 
    print (name1.title().strip(), name2.title().strip()) 
    average = (sum(grades)/len(grades)) 
    print (average) 

名前と平均を印刷するには、これが必要です。私が '1234'を入力すると、それはちょうど正常に続きます。 else文を出力するように助けてくれますか?ありがとう。数値を入力するときの平均出力方法は?

答えて

1

これは、1つの問題は次のとおりです。

while (prompt != "1234"): 

あなたは数1234(「...あなたの等級を入力します」である)プロンプトを比較している、そしてプロンプトが変わることはありません。つまり、それは決して1234と等しくないので、永遠に続くでしょう! promptではなく、grade1と比較したいと思います。


もう一つの問題は、else文です:あなたはしばらくの端をループした後、これらのステートメントを実行したいので

else: 
    print (name1.title().strip(), name2.title().strip()) 
    average = (sum(grades)/len(grades)) 
    print (average) 

あなたは正しい、ELSE文を必要としませんか?その後、whileループの後に置くだけです。 ifまたはif-else声明は必要ありません。それらの修正で


、コードは次のようになります。

name1 = input("What is your first name: ") 
name2 = input("What is your last name: ") 
grades = [] 
prompt = "Enter your grade or enter '1234' to get your letter grade and average: " 

print('Please enter your grades:') 
grade1 = input(prompt).strip() 

while (grade1 != "1234"): 
    grades.append(grade1) 
    grade1 = input(prompt).strip() 


print (name1.title().strip(), name2.title().strip()) 
average = (sum(grades)/len(grades)) 
print (average) 

ほんの数構文エラーはあなたを戻って保持し、とても良い仕事を続けるました!

+0

同じことをしました。私が1234に入ったとき、それはちょうど次の行に行きました。 – Gatwa

+0

申し訳ありませんが、誤って引用符を忘れてしまいました。それらがなければ、文字列ではなく番号1234と比較していました。今はうまくいくはずです。 –

関連する問題