题解 | #配置文件恢复#
配置文件恢复
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
【牛客站内】华为机试题—中等 文章被收录于专栏
【牛客站内】华为机试题练习记录