标签:tin for date ase 菜单 退出 else exit current
字典应用:三级菜单方法一:
# -*-coding:utf-8 -*-
__date__ = ‘2018/2/5 14:54‘
__author__ = ‘xiaojiaxin‘
__file_name__ = ‘三级菜单‘
#可返回上一级
#可随时退出程序
base1={
1:{
10:{
11:{"十一"},
12:{"十二"},
13:{"十三"}
},
100:{
101:{"一百零一"},
102:{"一百零二"},
103:{"一百零三"}
},
1000:{
1001:{"一千零一"},
1002:{"一千零二"},
1003:{"一千零三"}
}
},
2:{
20:{
21:{"二十一"},
22:{"二十二"},
23:{"二十三"}
},
200:{
201:{"二百零一"},
202:{"二百零二"},
203:{"二百零三"}
},
2000:{
2001:{"二千零一"},
2002:{"二千零二"},
2003:{"二千零三"}
}
},
3:{
30:{
31:{"三十一"},
32:{"三十二"},
33:{"三十三"}
},
300:{
301:{"三百零一"},
302:{"三百零二"},
303:{"三百零三"}
},
3000:{
3001:{"三千零一"},
3002:{"三千零二"},
3003:{"三千零三"}
}
}
}
for i in base1:
print(i)
choice1=0
choice2=0
choice3=0
while True:
conti_jud=input("continue or not?[y/n]")
if conti_jud==‘y‘:
choice1=int(input("choose num1:"))
if choice1 in base1:
#print("ok")
for j in base1[choice1]:
print(j)
while True:
conti_jud=input("continue or not?[y/n/back]")
if conti_jud==‘y‘:
choice2=int(input("choose num2:"))
if choice2 in base1[choice1]:
for k in base1[choice1][choice2]:
print(k)
while True:
conti_jud=input("continue or not?[y/n/back]")
if conti_jud==‘y‘:
choice3=int(input("choose num3:"))
if choice3 in base1[choice1][choice2]:
for l in base1[choice1][choice2][choice3]:
print(l)
exit() #程序结束
else:
print("The num isn’t exist!")
else:
break
else:
print("The num isn’t exist!")
else:
break
else:
print("The num isn’t exist!")
else:
break
方法二:
# -*-coding:utf-8 -*-
__date__ = ‘2018/2/7 16:07‘
__author__ = ‘xiaojiaxin‘
__file_name__ = ‘三级菜单优化版本‘
base1={
1:{
10:{
11:{"十一"},
12:{"十二"},
13:{"十三"}
},
100:{
101:{"一百零一"},
102:{"一百零二"},
103:{"一百零三"}
},
1000:{
1001:{"一千零一"},
1002:{"一千零二"},
1003:{"一千零三"}
}
},
2:{
20:{
21:{"二十一"},
22:{"二十二"},
23:{"二十三"}
},
200:{
201:{"二百零一"},
202:{"二百零二"},
203:{"二百零三"}
},
2000:{
2001:{"二千零一"},
2002:{"二千零二"},
2003:{"二千零三"}
}
},
3:{
30:{
31:{"三十一"},
32:{"三十二"},
33:{"三十三"}
},
300:{
301:{"三百零一"},
302:{"三百零二"},
303:{"三百零三"}
},
3000:{
3001:{"三千零一"},
3002:{"三千零二"},
3003:{"三千零三"}
}
}
}
current_layer=base1
front_layer=base1
count_lay=1
while True:
print("num menu:")
for i in current_layer:
print(i)
state=input("continue:[y],back:[b],quit:[n] :")
if state==‘y‘:
ch=int(input("choose num:"))
if ch not in current_layer:
print("the num is not existed")
continue
else:
front_layer=current_layer
current_layer=current_layer[ch]
count_lay+=1
if count_lay==4:
exit()
elif state==‘b‘:
current_layer=front_layer
count_lay-=1
continue
elif state==‘n‘:
exit()
else:
continue
标签:tin for date ase 菜单 退出 else exit current
原文地址:http://blog.51cto.com/10777193/2069935