Проблема с изменением положения точки в Python - PullRequest
0 голосов
/ 01 февраля 2019

Я пытаюсь сделать простой "ход точки" в 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", y новая позиция будет [0,3]

1 Ответ

0 голосов
/ 01 февраля 2019

попробуйте это ...

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;
...