我必须在同一行输入两个值,它们用空格分隔。 所以输出将是这样的东西
123 456
输入为123和456
所以我使用代码
a ,b = map(float, raw_input().split())
print ('input is '), a ,(' and '), b
这项工作 但是我想在用户输入“-1”时立即退出脚本 例如,如果用户输入-1作为a的值,程序将停止从用户读取输入,打印'错误输入'
错误的输入
但是当我尝试输入'-1'并按'输入'时
说
ValueError:解包需要多于1个值
是不是意味着我不应该使用'map(float,raw_input()。split())'?
答案 0 :(得分:0)
只需将参数放入列表中然后处理它们:
params = map(float, raw_input().split())
然后你可以检查params [0]是否为-1或者数组的长度是否与预期的不同。检查完毕后,您可以指定:
a,b=params
答案 1 :(得分:0)
如果只输入一个输入(-1),在尝试将其存储在a,b中时,pytjon会抛出一个回溯。
而不是存储在a,b中,只需将其存储在列表中即可。
如果要使用地图功能,请使用以下命令:
有效输入的情况:
/me/memberOf
输入无效的情况 -
User.Read
额外的东西(有效) -
>>> a = map(float, raw_input().split())
123 456
>>> if a[0] == -1 :
... print 'Wrong Input'
... else :
... print 'input is',a[0],' '.join(['and '+str(i) for i in a[1:]])
...
input is 123.0 and 456.0
额外的东西(无效) -
>>> a = map(float, raw_input().split())
-1
>>> if a[0] == -1 :
... print 'Wrong Input'
... else :
... print 'input is',a[0],' '.join(['and '+str(i) for i in a[1:]])
...
Wrong Input