题解 | #坐标移动#python3 直接按要求写 try int except判断是否合法输入

坐标移动

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

根据题意,先用split()函数根据';'分割出一个列表接受N条命令。 进行for循环判断每条的命令长度是否符合,len()长度固定为2或者3。不符合则用continue跳出进行下一条的判断。 对于符合长度的命令的首字母进行判断,是AWSD的进行下一次操作。不符合则用continue跳出进行下一条的判断。 首字母通过的命令,用try尝试对命令i的第二位到末位进行int()转化,int(i[2:]),长度前面已经限制为2或者3了,不用担心为空或者超长。不能转化说明不符合数字的规则,用except continue跳出进行下一条的判断。记录数字num。 根据首字母进行xy的加减操作。最后输入即可 def func():

s = input().strip().split(";")
x = 0
y = 0
if len(s) == 0:
    print("%d,%d"%(x,y))
    return
for i in s:
    if len(i) > 3 or len(i) < 2:
        continue
    if i[0] == "A" or i[0] == "W" or i[0] == "S" or i[0] == "D":
        try:
            num = int(i[1:])  
        except:
            continue
        if i[0] == "A":
            x -= num
        elif i[0] == "D":
            x += num
        elif i[0] == "W":
            y += num
        elif i[0] == "S":
            y -= num
    else:
        continue
print("%d,%d"%(x,y))

func()

全部评论

相关推荐

菜菜咪:1. 可以使用简历网站的模版,美观度会更好一点 2. 邮箱可以重新申请一个,或者用qq邮箱的别名,部分hr可能会不喜欢数字邮箱 3. 项目经历最好分点描述,类似的项目很多,可以参考一下别人怎么写的 4. 自我评价可加可不加,技术岗更看重技术。最后,加油,优秀士兵
点赞 评论 收藏
分享
10-28 11:04
已编辑
美团_后端实习生(实习员工)
一个2人:我说几个点吧,你的实习经历写的让人觉得毫无含金量,你没有挖掘你需求里的 亮点, 让人觉得你不仅打杂还摆烂。然后你的简历太长了🤣你这个实习经历看完,估计没几个人愿意接着看下去, sdk, 索引这种东西单拎出来说太顶真了兄弟,好好优化下简历吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务