Ваша немедленная проблема заключается в строке до этого if
оператора:
# open: v v
gpa=eval(input("Enter a grade point average between 0.0 and 4.0 inclusive")
# close: ^
Обратите внимание на количество открывающих и закрывающих скобок.Это должно сбалансировать.
Также имейте в виду (хотя это стилистическая проблема), Python не требует скобок в условных выражениях.Вполне допустимо сказать:
if gpa > 4.0 or gpa < 0.0:
Кроме того, eval
является очень мощным и поэтому очень опасным в определенных обстоятельствах, например, если пользователь вводит os.system('rm -rf /*')
.Если вы хотите взять строку и превратить ее в целое число, для этого int()
, без опасностей удаления всех ваших файлов: -)
Ниже приведен пример использования:
import sys
try:
val = int(input("What? "))
except:
print("An error occurred")
sys.exit(1)
print("You entered {}".format(val))