Python 2.7从用户那里获取两个独立变量的输入

时间:2017-09-26 22:37:41

标签: python python-2.7 input

getMin, getMax = int(input("Enter a range (min,max): "));

上面是我试图实现的代码,但它给我一个错误说...

int() argument must be a string or a number, not 'tuple'

基本上,我尝试在输入语句后输入.split(,),但是我得到了同样的错误。当用户输入1,10作为输入时,我想要getMin = 1getMax = 10

3 个答案:

答案 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: "))

或将splitmap合并为balki suggested in the meanwhile