2017-07-11 4 views
0

Ich schreibe ein Python-Programm, das die niedrigste von vier Testergebnissen entfernt. Das Programm fordert den Benutzer zuerst auf, seine ersten vier Testergebnisse einzugeben, dann sollte das Programm den niedrigsten Testergebnis fallen lassen und den Durchschnitt der verbleibenden drei Testergebnisse nehmen. Das Programm sollte dann die endgültige Buchstabenklasse drucken. Dies ist, was ich bisher habe und ich bekomme immer einen Fehler, wenn ich die niedrigste Punktzahl fallen lasse.Löschen der niedrigsten Punktzahl

#Enter four test scores as percentages (%) 
test1 = int(input("Enter grade 1: 90")) 
test2 = int(input("Enter grade 2: 80")) 
test3 = int(input("Enter grade 2: 70)") 
test4 = int(input("Enter grade 2: 80)") 

#Drop lowest test score 
    print("The average, with the lowest score dropped") 
    total =(test1 + test2 + test3) 

#Calculate average 
     def calc_average(total): 
     return total /3 


#Grade scale 
def determine_score(grade): 
    if score >= 90: 
     grade = "A" 
    elif score >= 80: 
     grade = "B" 
    elif score >=70: 
     grade = "C" 
    elif score >= 60: 
     grade = "D" 
    else: 
     grade = "F" 

#Calculate final letter grade 
print("The final grade is") 


main() 
+1

Ähm ... Sie erkennen, dass Leerzeichen/Tabs sind * sehr * signifikant in Python, nicht wahr? –

+0

Dies ist meine erste Programmierklasse, also lerne ich immer noch. Ich nehme keine konstruktive Kritik und berate !! –

+0

Welchen Fehler bekommen Sie? – mkrieger1

Antwort

1

Ich habe versucht, ein Programm mit den Dingen zu schreiben, die ich von Ihnen verstanden habe. Hier ist die Erklärung:

Vier Grade vom Benutzer nehmen. Den niedrigsten fallen lassen. Durchschnitt nehmen. Geben Sie einen Buchstaben nach dem Durchschnitt. Hier

ist der Code:

test1 = int(input("Enter grade 1: ")) 
test2 = int(input("Enter grade 2: ")) 
test3 = int(input("Enter grade 3: ")) 
test4 = int(input("Enter grade 4: ")) 

x = min(test1,test2,test3,test4) 

total = float(test1 + test2 + test3 + test4 - x) 

avg = total/3 

print("Your average is " + str(avg)) 


def determine_letter(grade): 
    letter ="" 
    if grade >= 90: 
     letter = "A" 
    elif grade >= 80: 
     letter = "B" 
    elif grade >= 70: 
     letter = "C" 
    elif grade >= 60: 
     letter = "D" 
    else: 
     letter = "F" 

    print("The final letter grade is " + letter) 


determine_letter(avg) 
+0

Das hat funktioniert! Vielen Dank! –

+0

Gern geschehen. Sie können hier mehr über Python erfahren. http://introcs.cs.princeton.edu/python/home/ –

Verwandte Themen