我正在尝试在Python上进行简单的“点移动”,对特定符号使用自动递增,但是它不能正常工作(位置保持不变),因此在这里我需要一点帮助
import re
while True:
m=input(str("How robot should move? (use U,D,L,R to move): "))
if not re.match("^[U,D,L,R]*$", m):
print("WRONG MOVE! USE -> U,D,L,R")
if re.match("^[U,D,L,R]*$", m):
moves = list(m.split())
print(moves)
x = 0
y = 1
position = [x, y]
for U in moves:
if U == "U":
y+=y
print(position)
break
我想获取列表中每个符号的位置变化,因此,如果输入为“ U,U,U”,则新位置将为[0,3]
答案 0 :(得分:0)
尝试一下...
x = list(map(str,input().split(",")))
a = 0
b = 0
for i in x:
if (i=='U'):
b+=1
print(a,b)
elif (i=='D'):
b-=1
print(a,b)
elif (i=='L'):
a-=1
print(a,b)
elif (i=='R'):
a+=1
print(a,b)
else:
print("wrong move")
break;