2014-11-04 4 views
-5

Быстрый вопрос Мне было интересно, где я иду Неправильно Я сейчас изучаю python, и я застрял там, где я ошибаюсь в этой простой функции калькулятора, используя знак в качестве параметра.Если оператор в функции Python

Вот мой код Мне было интересно, если вы, ребята, можете указать мне в правильном направлении. Спасибо :)

def calculateGrade(mark): 
    if mark >=16: 
     return("A") 
    elif mark >= 12 and mark <16: 
     return("B") 
    elif mark >8 and mark <11: 
     return("C") 
    elif mark <8: 
     return("F") 
+5

В чем проблема? – MattDMo

+3

Является ли 'mark' определенно числом, а не строкой? (Кроме того, вы не обрабатываете 'mark == 8' или' 11 <= mark <12'.) – jonrsharpe

+1

, пожалуйста, укажите, каковы ваши данные и каков ваш ожидаемый результат: – resilva87

ответ

1

Первое, что я сделал бы, это убедиться, что «отметка» представляет собой целое число. Затем я избавился бы от избыточных проверок для значений, которые уже были проверены. Тогда я бы избавился от посторонних скобок (спасибо, Маттиас).

def calculateGrade(mark): 
    mark = int(mark) 
    if mark >=16: 
     return "A" 
    elif mark >= 12: 
     return "B" 
    elif mark >8: 
     return "C" 
    else: 
     return "F" 
+2

И тогда мы избавляемся от ненужных парнеров. Вам не нужно 'return (« F »)', вы можете просто использовать 'return 'F" '. – Matthias

+0

Это здорово Спасибо. У меня есть много знаний, чтобы встать, чтобы поцарапать. Цените это спасибо ребятам – Noskes

+0

@NoskesL: если ответ вам помог, отметьте его как можно скорее. – GingerPlusPlus

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