2016-02-11 3 views
-5

Я работаю над назначением надписи на питоне.
90 или выше - A и т. Д. И т. Д. Для остальной части букв; но когда значение вводится как отрицательное число, мне нужно, чтобы код ничего не делал, кроме как отображать error.python: присвоение градации, отрицательное значение

Это то, что я пытался до сих пор:

#Design a Python program to assign grade to 10 students 
#For each student, the program first asks for the user to enter a positive number 
#A if the score is greater than or equal to 90 
#B if the score is greater than or equal to 80 but less than 90 
#C if the score is greater than or equal to 70 but less than 80 
#D if the score is greater than or equal to 60 but less than 70 
#F is the score is less than 60 
#Ihen the program dispalys the letter grade for this student. 
#Use while loop to repeat the above grade process for 10 students. 

keep_going = 'y' 

while keep_going == "y": 

      num = float(input("Enter a number: ")) 
      if num >= 90: 
       print("You have an A") 
      elif num >= 80: 
       print("You have an 3") 
      elif num >= 70: 
       print("You have an C") 
      elif num >= 60: 
       print("You have an D") 
      elif (num < 60 and <= 0: 
       print ("You have an F") 

      else: 
       print("lnvalid Test Score.") 

Original screenshot

+0

Что такое код? – zondo

+0

Вы должны предоставить дополнительную информацию. – PRVS

+1

Я голосую, чтобы закрыть этот вопрос как не относящийся к теме, потому что это не кодовая и учебная служба. – jonrsharpe

ответ

0
grade = int(input("Enter Score:")) 
print "FFFFFDCBAA"[grade//10] if grade >= 0 else "ERROR!!!!" 
+1

Вы набираете 110% ;-) –

2

Я вижу три проблемы, все в той же строке:

elif (num < 60 and <= 0: 
  1. Синтаксис: num < 60 and <= 0 - недействительное выражение; должны быть num < 60 and num <= 0

  2. Логика: num <= 0 не то, что вы хотите, это должно быть num >= 0

  3. Синтаксис: вы пропустили закрывающую скобку ).

Если вы измените их, он должен работать.

0

вы просто должны изменить Элиф на ниже 60.

keep_going = 'y' 

while keep_going == "y": 

     num = float(input("Enter a number: ")) 
     if num >= 90: 
      print("You have an A") 
     elif num >= 80: 
      print("You have an 3") 
     elif num >= 70: 
      print("You have an C") 
     elif num >= 60: 
      print("You have an D") 
     elif 60 > num >= 0: 
      print ("You have an F") 
     else: 
      print("lnvalid Test Score.")