字符串"/>
python怎么输入数字符串
冗长的回答
对这个问题来说,^{} builtin(跟随链接了解整个故事)需要一个单独的参数,可以是数字文本,也可以是字符串。在
你的代码>>> a=str(input('Voer een door spatie gescheiden lijst met getallen in: ').split())
正在创建列表的文本表示形式,因为您使用了返回python对象文本表示形式的str内置项:
^{pr2}$
上面不是int所要求的数字的文本表示,而是列表的文本表示,因此当您将它传递给int时,它会抱怨ValueError: invalid literal for int() with base 10: "['2', '3', '4', '5']"
如果我们省略对str的调用呢?在>>> a = input('Voer een door spatie gescheiden lijst met getallen in: ').split()
>>> a
['2', '3', '4', '5']
>>> int(a)
TypeError: int() argument must be a string or a number, not 'list'
注意,错误消息是不同的:不再是ValueError,而是TypeError。我们有一个列表,它的项是表示数字的字符串,但是我们不允许使用list作为int的参数。在
输入list comprehension,这是一个当代的习惯用法,可以操作列表(或通用的iterable)的内容。在>>> [int(elt) for elt in a]
[2, 3, 4, 5]
语法很简单,[...]你有左括号和右括号,就像你在使用列表文本时所写的那样,在里面有一个由内而外的循环,首先是循环的主体,然后是for规范。体的求值结果按顺序存储在解释器为您输出的列表中,正如您在上面看到的,我们没有更多的字符串表示数字而是整数。将列表理解的结果赋给变量>>> b = [int(elt) for elt in a]
你完成了:>>> print(b)
[2, 3, 4, 5]
>>>
更多推荐
python怎么输入数字符串
发布评论