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

Я использую 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 Ответ

0 голосов
/ 18 сентября 2018

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

vals = map(int, input("Enter comma separated numbers").split(','))
...