Почему я получаю ошибку «не все аргументы преобразованы во время форматирования строк» во время этого кода python?

#python-3.x

Вопрос:

 n = input("Enter your number: ")
if n%2 != 0:
    print("Weird")
elif n%2 == 0:
    if n>1 and n<6:
        print("Not weird")
    elif n>=6 and n<=20:
        print("Weird")
    elif n>20:
        print("Not Weird")
 

Во время выполнения этого кода я получил сообщение об ошибке. Я не мог найти причину.

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

1. Вы забыли преобразовать n в число. При применении к строке % используется оператор подстановки, а не остаток.

Ответ №1:

Проблема в том, что вы не преобразовали свои входные данные в целое число.

поэтому вместо вычисления остатка n на 2. Вы переходите к форматированию строк в строке if n%2 != 0:

Старый способ форматирования строки был :

 name = 'John'
print('hi %s' % name )
 

Ответ №2:

Соруш прав, вы не преобразовали свои входные данные в целое число, вам следует попробовать что-то вроде

 n = int(input("Enter your number: "))
 

чтобы преобразовать входные данные в целое число