2017-02-02 1 views
0

Ich versuche, ein Python-Programm zu erstellen, die für Studenten Name und Noten fragen wird, aber ich muss diese Markierungen überprüfen, vorausgesetzt die Prüfung ist out-of 20, so dass die Marke nicht weniger sein sollte ich eine while-Schleife bin mit so zu tun, als Null oder größer als 20, so aber wenn ich es laufen jede Marke gibt einen Fehler hier ist mein CodeWhile-Schleife Ausgabe keine korrekte Falue

Student_Name = [str] 
Test1 = [int] 

for i in range(3): 
Student_Name = raw_input("please input the name of Student {}: ".format(i+1)) 
Test1 = raw_input("please input the mark for Test1 of {}: ".format(Student_Name)) 
while Test1 > 20 or Test1 <0: 
    print "invalid" 
    Test1 = raw_input("please Reinput mark of {}: ".format(Student_Name)) 

Antwort

1

es gibt viele Probleme mit dem mitgelieferten Code. Erstens ist die Einrückung für die for-Schleife deaktiviert. Zweitens haben Sie dieselben Namen für die Listen Student_Name1 und Test1 und die Eingabevariablen Student_Name1 und Test1 verwendet. Drittens, raw_input in Python gibt str zurück, müssen Sie es in eine int umwandeln.

student_names = [str] 
tests = [int] 

for i in range(3): 
    student_name = raw_input("please input the name of Student {}: ".format(i+1)) 
    test_score = int(raw_input("please input the mark for Test1 of {}: ".format(student_name))) 
     while test_score > 20 or test_score < 0: 
     print "invalid" 
     test_score = int(raw_input("please Reinput mark of {}: ".format(student_name))) 

Dieser Code sollte bieten, was Sie suchen, oder zumindest eine gute Referenz.

Verwandte Themen