2014-02-08 7 views

ответ

1

Проблема в том, что вы явно не сравниваете 100 или 89с ничего. Это лучше синтаксис:

if 90 <= grade <= 100: 
    return "A" 
elif 80 <= grade <= 89: 
    return "B" 
else: 
    return "F" 

Но ближе к тому, как вы написали, что вам нужно будет включить grade в обоих сравнениях:

if grade >= 90 and grade <= 100: 
    return "A" 
elif grade >=80 and grade <= 89: 
    return "B" 
else: 
    return "F" 

Как и в сторону, вы можете рассмотреть возможность grade=89.5 и изменить диапазон 80 <= grade < 90, используя < вместо <=

+0

Спасибо, это работает. Но у меня есть другая проблема, теперь код подсказывает мне ввести оценку, когда я вхожу в 99, он выходит в командную строку вместо того, чтобы возвращать «А». Можете рассказать мне, что не так в моем коде – user2548441

+0

, вам нужно на самом деле вызвать функцию «finalgrade», как «print finalgrade (grade)». не забудьте сделать это в конце вашего скрипта, * после * 'def' для функции, или он еще не будет определен – mhlester

0

elif grade >=80 and <= 89: должны быть elif grade >=80 and grade <= 89: и if grade >= 90 and <= 100: должны быть if grade >= 90 and grade <= 100:

0

elif grade >=80 and <= 89: неправильно; должно быть что-то по сравнению с 89. Я предполагаю, что вы имеете в виду elif grade >=80 and grade <= 89:. То же самое касается 90-100 частей.

0

Python не будет неявно использовать grade в качестве левого операнда <=. Вам нужно написать его дважды, или использовать сравнение цепочки:

if 90 <= grade <= 100: 

(который не работает на большинстве языков, но делает в Python.)

0

если класс> = 90 и класс < = 100:

Вы отказались от второго сорта.

Смежные вопросы