Введите ошибку при создании функций в python - PullRequest
0 голосов
/ 08 апреля 2020
def table(nb, max):
i = 0
while i < max:
    print((i+1)*nb)
    i += 1
print(table(nb=input('entree les valeur de nb '), max=input('entree les valeur 
de max')))

Я попытался создать функцию для отображения таблицы умножения, но у меня ошибка:

TypeError: '<' не поддерживается между экземплярами 'int' и ' ул '</p>

Ответы [ 3 ]

0 голосов
/ 08 апреля 2020

Вы должны преобразовать max и nb в целое число: while i < int(max), print((i+1)*int(nb)).

Вот решение:

def table(nb, max):
    i = 0
    while i < int(max):
        print((i+1)*int(nb))
        i += 1


print(table(nb=input('entree les valeur de nb '), max=input('entree les valeur de max')))
0 голосов
/ 10 апреля 2020

Мы должны объявить тип переменных как int

def table(nb,max):
i = 0
max=int(max)
nb=int(nb)
while i < max :
    print(i + 1, "*", nb, "=", (i + 1) * nb)
    i+=1

print(table(nb=input('entree les valeur de nb '), max=input('entree les valeur de max ')))
0 голосов
/ 08 апреля 2020

Посмотрите на ваши сообщения об ошибках, там сказано, что вы не можете сравнить между int и str. В этом случае i имеет значение int, а max имеет значение str. Это связано с тем, что функция input возвращает значение типа str. Вы должны проверить, подходит ли это значение, а затем привести его к типу int. Тип приведения будет выглядеть так: max = int(max). Будьте осторожны, потому что это вызовет ошибку, если значение, предоставленное пользователем, не может быть приведено к int (если они, например, предоставляют «a» в качестве ввода, которое не может быть приведено к int)

Вы можете изменить строку с while i < max: на while i < int(max) или переназначить параметр max на int(max) перед его сравнением. Вам также нужно будет выполнить аналогичное приведение для nb

Кстати, здесь ошибка не «ошибка трассировки», а TypeError. Функция трассировки показывает, где произошла ошибка, а затем отслеживает через ваш код, чтобы показать, где произошел каждый вызов функции, приведший к этой ошибке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...