getMin, getMax = int(input("Enter a range (min,max): "));
上面是我试图实现的代码,但它给我一个错误说...
int() argument must be a string or a number, not 'tuple'
基本上,我尝试在输入语句后输入.split(,)
,但是我得到了同样的错误。当用户输入1,10作为输入时,我想要getMin = 1
和getMax = 10
答案 0 :(得分:1)
由于您使用的是Python 2,因此您应该使用undefined
而不是raw_input
。尝试这样的事情:
input
答案 1 :(得分:1)
恕我直言,假设您希望输入以逗号分隔的清洁方法
>>> prompt = "Enter a range (min,max): "
>>> while True:
... try:
... getMin, getMax = map(int, raw_input(prompt).split(','))
... break
... except (ValueError, TypeError):
... pass
...
Enter a range (min,max): skfj slfjd
Enter a range (min,max): 232,23123,213
Enter a range (min,max): 12, 432
>>> getMin
12
>>> getMax
432
答案 2 :(得分:0)
input
函数(请参阅doc here)将尝试评估提供的输入。例如,如果您使用您的名称 AMcCauley13 来提供它,它将查找名为so的变量。
使用1,10
之类的值来提供它将在元组(1,10)
中进行求值,这将破坏期望字符串的int()
函数。
尝试使用更简单的
getMin = int(raw_input("min range: "))
getMax = int(raw_input("max range: "))
或将split
和map
合并为balki suggested in the meanwhile