华为机考HJ66--切片
配置文件恢复
http://www.nowcoder.com/questionTerminal/ca6ac6ef9538419abf6f883f7d6f6ee5
1.多行输入
strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。 command.strip().split()
2.此时,如果command只有一个值,也要用command[0]。(在本地运行的时候,是不用的)
3.题目的解释:
【例如输入:r,根据该规则,匹配命令reset,执行结果为:reset what;
输入:res,根据该规则,匹配命令reset,执行结果为:reset what;】
这个要求可以理解为切片比较
while True: try: m=input().strip().split() key=["reset","reset board","board add","board delete","reboot backplane","backplane abort"] value=["reset what","board fault","where to add","no board at all","impossible","install first"] #key[2][:3] 'boa' #不建字典,是因为字典可能无序(3版又改动了),不方便确认是否唯一 if len(m)<1 or len(m)>2: print("unknown command") elif len(m)==1: if m[0]==key[0][:len(m[0])]: print(value[0]) else: print("unknown command") else: index=[] for i in range(1,len(key)): a=key[i].split() #print(a[0][:3]) if m[0]==a[0][:len(m[0])] and m[1]==a[1][:len(m[1])]: index.append(i) if len(index)!=1: print("unknown command") else: print(value[index[0]]) except: break