Вот мой код Я пытаюсь получить пользовательский ввод целых чисел, пройти через функцию, используя карту и возвращает список результатов в кубах

Я использую Python 3

vals = int(input("Enter comma separated numbers"))

def cube(nums):
    return nums**3

print(list(map(cube,vals)))

Я получаю эту ошибку при вводе 2,3

#Traceback (most recent call last):
  File "/Users/administrator/Documents/Python/Master Python/Day7a.py", line 15, in <module>
    vals = int(input("Enter comma separated numbers"))
ValueError: invalid literal for int() with base 10: '2,3'

Это работает, когда я сам ставлю целые числа:

vals = [2,3]
def cube(nums):
    return nums**3

alist = (list(map(cube,vals)))

1 ответ

Решение

Вы должны преобразовать ввод от пользователя в последовательность целых чисел (или с плавающей точкой, если это желательно), прежде чем вы сможете отобразить vals выполнять числовые операции:

vals = map(int, input("Enter comma separated numbers").split(','))
Другие вопросы по тегам