当前位置 博文首页 > 一个混错圈儿的小测试:python:坐标移动

    一个混错圈儿的小测试:python:坐标移动

    作者:[db:作者] 时间:2021-08-20 15:42

    题目描述

    开发一个坐标计算工具,?A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。

    输入:

    合法坐标为A(或者D或者W或者S)?+?数字(两位以内)

    坐标之间以;分隔。

    非法坐标点需要进行丢弃。如AA10;??A1A;??$%$;??YAD;?等。

    下面是一个简单的例子?如:

    A10;S20;W10;D30;X;A1A;B10A11;;A10;

    处理过程:

    起点(0,0)

    +???A10???=??(-10,0)

    +???S20???=??(-10,-20)

    +???W10??=??(-10,-10)

    +???D30??=??(20,-10)

    +???x????=??无效

    +???A1A???=??无效

    +???B10A11???=??无效

    +??一个空?不影响

    +???A10??=??(10,-10)

    结果?(10,?-10)

    注意请处理多组输入输出

    ?

    输入描述:

    一行字符串

    ?

    输出描述:

    最终坐标,以逗号分隔

    ?

    示例1

    输入

    A10;S20;W10;D30;X;A1A;B10A11;;A10;

    ?输出

    10,-10

    实现


    def move(coordinates):
    ? ? first = [0, 0]
    ? ? for coordinate in coordinates:
    ? ? ? ? if 2 <= len(coordinate) <= 3:
    ? ? ? ? ? ? try:
    ? ? ? ? ? ? ? ? if coordinate[0] == 'A':
    ? ? ? ? ? ? ? ? ? ? num = int(coordinate[1:])
    ? ? ? ? ? ? ? ? ? ? first[0] -= num
    ? ? ? ? ? ? ? ? elif coordinate[0] == 'D':
    ? ? ? ? ? ? ? ? ? ? num = int(coordinate[1:])
    ? ? ? ? ? ? ? ? ? ? first[0] += num
    ? ? ? ? ? ? ? ? elif coordinate[0] == 'W':
    ? ? ? ? ? ? ? ? ? ? num = int(coordinate[1:])
    ? ? ? ? ? ? ? ? ? ? first[1] += num
    ? ? ? ? ? ? ? ? elif coordinate[0] == 'S':
    ? ? ? ? ? ? ? ? ? ? num = int(coordinate[1:])
    ? ? ? ? ? ? ? ? ? ? first[1] -= num
    ? ? ? ? ? ? except:
    ? ? ? ? ? ? ? ? continue
    ? ? ? ? else:
    ? ? ? ? ? ? continue
    ? ? return first


    string = input()
    coordinates = string.strip().split(';')
    last = move(coordinates)
    print("{},{}".format(last[0], last[1]))

    ?

    cs