这是我的代码。我正在尝试让用户输入整数,通过一个使用 map 的函数并返回立方结果列表

Here's my code. I am trying to get user input of integers, go through a function utilizing map and returning a list of cubed results

我正在使用 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)))

在映射 vals 以执行数值运算之前,您应该将用户的输入转换为整数序列(或浮点数,如果需要的话):

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