Вопрос:
Я рассмотрел другие вопросы о stackoverflow, но они разные и, похоже, не применяются к этому вопросу, так что здесь.
Я написал простой скрипт, который дает мне распечатку из каждого числа между 1-49 и помещает его в список, используя функцию диапазона.
Теперь я определил функцию для определения того, какие числа являются нечетными и какие числа четные, вот мой код:
def check(number): if number%2==0: print «Even Numbers:»,(number) else: print «Odd Numbers:»,(number) a = range(1,50) print a check(a)
При запуске скрипта я получаю следующую ошибку:
unsupported operand type(s) for %: ‘list’ and ‘int’
Поэтому я знаю, что это означает, что оператор% не может не поддерживать “списки” или “ints”, но как я могу его исправить?
Я попробовал это:
def check(number): if number%2==0: print «Even Numbers:»,(number) else: print «Odd Numbers:»,(number) a = range(1,50) b = str(a) check(str(a))
Но получите ошибку:
Traceback (most recent call last): File «showEvenNumbers.py», line 12, in <module> check(str(a)) File «showEvenNumbers.py», line 2, in check if number%2==0: TypeError: not all arguments converted during string formatting
Поэтому я немного не уверен, что делать.
Любая помощь приветствуется.
Лучший ответ:
a – список, но check ожидает единственное целое число. Вам нужно перебирать список:
for item in a: check(item)