不用正则的方式

坐标移动

http://www.nowcoder.com/questionTerminal/119bcca3befb405fbe58abe9c532eb29

python代码,逻辑清晰
判断字符串是否为空,第一个字母是否为wasd,后面的字符串(运用集合的子集)是否为数字即可

while True:
    try:
        val = input()
        tmp = val.split(";")
        x,y = 0,0
        comp = set("1234567890")
        for i in tmp:
            if not i or i[0] not in ["A","D","W","S"] or set(i[1:]).issubset(set("1234567890")) == False:
                continue
            elif i[0] == "A":
                x -= int(i[1:])
            elif i[0] == "S":
                y -= int(i[1:])
            elif i[0] == "W":
                y += int(i[1:])
            elif i[0] == "D":
                x += int(i[1:])
        print(str(x)+","+str(y)) 
    except:
        break
全部评论
if not i or i[0] not in ["A","D","W","S"] or set(i[1:]).issubset(set("1234567890")) == False:是不是漏了一种情况,比如A111,像这种len(i)>3的情况,字符串也是无效的,但测试例子好像没有这种情况,你的程序也能通过
4 回复 分享
发布于 2021-05-27 21:10
请问为什么要用while True和try except。 我发现不用的话在自测里能够通过,但是一但调试的时候就会报错,请问是什么原因呢
点赞 回复 分享
发布于 2020-08-11 22:59
同问
点赞 回复 分享
发布于 2020-09-02 22:17
请问为什么要if not i
点赞 回复 分享
发布于 2021-04-03 16:02
break改成continue会不会好一点
点赞 回复 分享
发布于 2021-11-09 21:59

相关推荐

object3:开始给部分🌸孝子上人生第一课了
点赞 评论 收藏
分享
评论
19
4
分享
牛客网
牛客企业服务