Python: ошибка, возникающая в операторе IF / ELIF

#python #if-statement

#python #if-statement

Вопрос:

У меня есть программа, которую мне нужно написать для колледжа, и в моем коде есть ошибка, которую я не знаю, как исправить

 #calculate savings and print users total cost
if voucher_quant < 20:
    print("Your total will be £", str(voucher_value*voucher_quant))
    elif voucher_quant => 20 and voucher_quant=<40:
        print("Your total will be £", str((voucher_value*voucher_quant)*0.05)
        elif voucher_quant =>41 and voucher_quant =<70:
            print("Your total will be £", str((voucher_value*voucher_quant)*0.075)
            elif voucher_quant =>71 and voucher_quant =<100:
                print("Your total will be £", str((voucher_value*voucher_quant)*0.1)
 

кто-нибудь может мне помочь, как это исправить?

Комментарии:

1. Используйте if вместо elif , если вы делаете отступы. Или иначе, снимите указатель elif с

2. Все elif должны начинаться с той же позиции, что и if . programiz.com/python-programming/if-elif-else

3. Не делайте отступы в каждом операторе elif. Вам также нужен оператор терминала ‘else’

Ответ №1:

elif должен быть на том же уровне идентификации, что и его if .

Операторы сравнения похожи <= и нет =< . = было бы последним

Ваши операторы печати не завершают скобки

Этот код синтаксически корректен

 voucher_quant = 50 # Change as you want
voucher_value = 10 # Change as you want

if voucher_quant < 20:
    print("Your total will be £", str(voucher_value*voucher_quant))

elif voucher_quant >= 20 and voucher_quant<=40:
    print("Your total will be £", str((voucher_value*voucher_quant)*0.05))

elif voucher_quant >= 41 and voucher_quant <= 70:
    print("Your total will be £", str((voucher_value*voucher_quant)*0.075))

elif voucher_quant >= 71 and voucher_quant<=100:
    print("Your total will be £", str((voucher_value*voucher_quant)*0.1))


#Output
#Your total will be £ 37.5