python学習の道の例3-マルチレベルメニュー都市の詳細を表示
一、ケース全体で運用される知識点
1.pythonデータ構造の辞書の使用、辞書ネスト辞書、辞書ネストリスト
2.pythonデータ構造のリストの使用、辞書ネストリスト
3.pythonデータ構造の文字列の使用、文字列のフォーマット
4.while Trueデッドサイクルの使用
5.if...else....文の使用
二、ケースデザインの核心思想
1.都市情報を辞書+リストのデータ構造に格納する
2.省、市、先を三級メニューにする
3.各サブメニューには、ユーザの選択に応じて順次選択可能
三、コード
1.pythonデータ構造の辞書の使用、辞書ネスト辞書、辞書ネストリスト
2.pythonデータ構造のリストの使用、辞書ネストリスト
3.pythonデータ構造の文字列の使用、文字列のフォーマット
4.while Trueデッドサイクルの使用
5.if...else....文の使用
二、ケースデザインの核心思想
1.都市情報を辞書+リストのデータ構造に格納する
2.省、市、先を三級メニューにする
3.各サブメニューには、ユーザの選択に応じて順次選択可能
三、コード
#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
message_dict = {
" ":{" ":[" "," "," "]," ":[" "," "," "]},
" ":{" ":[" "," "," "]," ":[" "," "," "]}
}
print message_dict.keys()
"""
# 、 、
message_dict = {
"sichuan":{
"guangan":["wusheng","yuechi","linshui"],
"guangyuan":["wangcang","cangxi"]
},
"beijing":{
"chaoyang":["changying","guanzhuang","guomao"],
"haidian":["zhongguancun","wudaokou","shangdi"]
}
}
#
for i in range(len(message_dict.keys())):
new_item1 = "%s:%s" %(i+1,message_dict.keys()[i])
print new_item1
# ,
provence = raw_input("plz input select province:")
while True:
if provence not in message_dict.keys():
print "plz input correct!!!"
provence = raw_input("plz input select province again:")
else:
break
message_dict1 = message_dict[provence]
#
for j in range(len(message_dict1)):
new_item2 = "%s:%s" %(j+1,message_dict1.keys()[j])
print new_item2
# ,
city = raw_input("plz select city:")
while True:
if city not in message_dict1.keys():
print "plz input correct!!!"
city = raw_input("plz select city again:")
else:
break
message_list2 = message_dict1[city]
#
for k in range(len(message_list2)):
new_item3 = "%s:%s" %(k+1,message_list2[k])
print new_item3