用户是否可以在字符串周围输入多个变量(因此在键入时它们就在那里)。 我希望用户输入数字x,y,u,v,如
(x,y)到(u,v),括号和逗号用于指导他们的输入。
我希望它成为某种东西(我知道此代码错误),如:
a1, a2, a3, a4 = raw_input("("+x1+", "+x2+") to ("+x3+", "+x4+")").split()
其中,我选择了第i个x值。
答案 0 :(得分:0)
您的代码没错。
它确实有效:
>>> x1,x2,x3,x4 = 'xyuv'
>>> a1, a2, a3, a4 = raw_input("("+x1+", "+x2+") to ("+x3+", "+x4+")").split()
(x, y) to (u, v)1 2 3 4
>>> a1
'1'
>>> a2
'2'
>>> a3
'3'
>>> a4
'4'
然而:
a1
,a2
,a3
,a4
)是字符串。您可以通过map(int, ...)
这样解决第一个问题:
a1, a2, a3, a4 = map(int, raw_input("("+x1+", "+x2+") to ("+x3+", "+x4+")").split())
对于第二个问题,也许你可以用try: ... except: ...
包围代码,并用while True
包围它,这样直到它得到异常,它会重复它:
while True:
try:
a1, a2, a3, a4 = map(int, raw_input("("+x1+", "+x2+") to ("+x3+", "+x4+")").split())
break
except:
continue
在这里,我试着给它输入一些不好的输入,最后输入一个好的输入(当它得到良好的输入时终止):
(x, y) to (u, v)a
(x, y) to (u, v)a a a a
(x, y) to (u, v)1 2 3 4