Функции с If - PullRequest
       2

Функции с If

0 голосов
/ 21 февраля 2020

Вопрос: Как я могу обновить свой код, чтобы, когда я набираю «отлично» в качестве оценки, он возвращался со словами «плохая оценка?» При попытке сделать это в моем текущем коде я получаю следующее сообщение:

Traceback (последний вызов был последним): Файл "/ Users / renelyncruz / Desktop / Belle vue College Work / CS 101 / Cruz_FunctionsWithIf.py ", строка 1, в grade_rate = float (input (" Пожалуйста, введите оценку от 0,0 до 1,0. ")) ValueError: не удалось преобразовать строку в float: 'perfect' *

Мой текущий код выглядит следующим образом:

grade_rate=float(input("Please enter a score between 0.0 and 1.0."))

def computegrade(grade_rate):

    if grade_rate<0.0 or grade_rate>1.0:
        return ('Bad score')

    elif grade_rate>=0.9:
        return ("Your grade would be an A! Congratulations!")

    elif grade_rate>=0.8:
        return ("Your grade would be a B! Congratulations!")

    elif grade_rate>=0.7:
        return ("Your grade would be a C. You should try harder.")

    elif grade_rate>=0.6:
        return ("Your grade would be a D. Keep trying!")

    elif grade_rate<0.6:
        return ("Your grade would be an F. Work harder!")

    else :
        return ('Bad score')

try:
    grade=computegrade(grade_rate)
    print(grade)

except ValueError as e:
    print("Bad Score")

1 Ответ

0 голосов
/ 21 февраля 2020

Вы можете поймать это следующим образом:

try :
    grade_rate=float(input("Please enter a score between 0.0 and 1.0."))
except ValueError :
    print( "bad score" )

, и нет смысла переносить это:

grade=computegrade(grade_rate)
print(grade)

в блоке try/except, так как очень маловероятно, чтобы что-то бросить .

...