题解 | #配置文件恢复#

配置文件恢复

http://www.nowcoder.com/practice/ca6ac6ef9538419abf6f883f7d6f6ee5

while True:
    try:
        S = {'reset':'reset what','reset board':'board fault','board add':'where to add','board delete':'no board at all','reboot backplane':'impossible','backplane abort':'install first'} #对应映射字典
        a = input()
        b = ['reset','reset board','board add','board delete','reboot backplane','backplane abort']
        if(a in S):
            print(S[a])# 如果命令在字典里直接输出
        else:
            c = a.split()# 将输入分开,命令列表
            if len(c) == 1:# 命令列表长度为1
                if a == 'r' or a=='re' or a=='res' or a=='rese':
                    print(S['reset'])
                else:
                    print('unknown command')
            elif len(c) == 2:# 命令列表长度为2
                d = []
                for i in range(1,len(b)):# 因为命令列表长度为2所以遍历b中除'reset'外的命令
                    if(c[0] == b[i][:len(c[0])]):# 包含命令列表第一部分的b中的命令
                        d.append(b[i])
                if(len(d) == 0):# 若果没找到包含命令列表第一部分
                    print('unknown command')
                else:# 如果找到了,再找第二部分
                    e = []
                    for i in range(len(d)):# 遍历d中的命令
                        f = d[i].split()
                        if(c[1] == f[1][:len(c[1])]):# 包含命令列表第二部分的d中的命令
                            e.append(d[i])
                    if(len(e) == 1):# 只有唯一对应
                        print(S[e[0]])
                    else:# 否则无效
                        print('unknown command')
    except:
        break

【牛客站内】华为机试题练习记录

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 17:38
美团 后端 32×15.5 本科985
Devs008:查看图片
点赞 评论 收藏
分享
斑驳不同:还为啥暴躁 假的不骂你骂谁啊
点赞 评论 收藏
分享
今天 08:32
门头沟学院 Java
武汉启云方 Java 13k每月,公积金5%
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务