也许这是一个非常基本的问题,但我是 python 的初学者,找不到任何解决方案。我正在编写一个 python 脚本并被卡住了,因为我不能有效地使用 python 列表。我希望用户输入(数字或数字)并将它们作为整数存储在 python 列表中。例如,用户可以输入单个数字 1 或以逗号 1、2、3 分隔的多个数字,我想将它们保存到整数列表中。我试过这个;
def inputnumber():
number =[]
num = input();
number.append(num)
number = map(int,number)
return (number)
def main():
x = inputnumber()
print x
对于单个数字没有问题,但如果输入像 1,2,3 它会给出错误:
Traceback (most recent call last):
File "test.py", line 26, in <module>
main()
File "test.py", line 21, in main
x = inputnumber()
File "test.py", line 16, in inputnumber
number = map(int,number)
TypeError: int() argument must be a string or a number, not 'tuple'
另外我必须考虑到用户也可以输入字符而不是数字。我必须过滤这个。如果用户输入一个单词单个字符。我知道我必须使用 try: except。但无法处理。我搜索了 stackoverflow 和互联网,但在示例中我发现用户想要的输入是这样的;
>>>[1,2,3]
我在 stackoverflow 中找到了这个Mark Byers 的答案,但无法让它工作我在 Windows 中使用 python 2.5。
对不起我的英语不好。非常感谢您的帮助。