,'上海市':,
'廣州市':}
dic_city =
dic_district =
dic_address =
defmenu()
:while
true
:for i in
enumerate
(city,1)
:# 迴圈字典city,並在keys前加序號
(i[0
], i[1]
)# 迴圈列印序號+city的keys
dic_city[
str(i[0]
)]= i[1]
# 將列印的序號和字典city的keys迴圈加入新的字典dic_city中,此處str將序號轉換為字串,方便後面判斷
user_input =
input
('選擇前往城市編號:'
).strip(
)# 使用者輸入,strip去掉兩側空格
# print(dic_city)
iflen
(user_input)==0
:# 計算使用者輸入長度是否為0,判斷輸入是不是空值
('輸入不能為空,請重新輸入!'
)continue
# 退出本次迴圈
elif user_input in dic_city:
# 判斷使用者輸入是否在字典dic_city中
while
true
:for i in
enumerate
((city[dic_city[user_input]])
,1):
# 迴圈中新增序號
(i[0
], i[1]
) dic_district[
str(i[0]
)]= i[1]
district =
input
('區縣選擇或退出返回(請填寫序號即可):'
).strip()if
len(district)==0
:# 計算使用者輸入長度是否為0,判斷輸入是不是空值
('輸入不能為空,請重新輸入!'
)continue
elif district ==
list
(dic_district)[-
2]:# 判斷使用者輸入是否等於倒數第二個元素,即:返回
break
elif district ==
list
(dic_district)[-
1]:# 判斷使用者輸入是否等於最後乙個元素,即:退出
return
# 退出整個函式,這裡用來退出多層迴圈
elif district not
in dic_district:
# 判斷使用者輸入不在字典dic_district中
('輸入不正確,請重新輸入!'
)continue
else
:while
true
:for i in
enumerate
((city[dic_city[user_input]
][dic_district[district]])
,1):
# 多層字典,最外層字典city,
# [dic_city[user_input]新字典中取到city的keys,這樣取到第二層字典;dic_district[district]新字典中取到
# 第二層字典的keys,city[dic_city[user_input]][dic_district[district]]整個是第二層字典加keys,最後取
# 出第三層
(i[0
], i[1]
) dic_address[
str(i[0]
)]= i[1]
address =
input
('選擇位址或者返回退出(請填寫序號即可):'
).strip()if
len(address)==0
('輸入不能為空,請重新輸入!'
)continue
elif address ==
list
(dic_address)[-
2]:break
elif address ==
list
(dic_address)[-
1]:return
elif address not
in dic_address:
('輸入不正確,請重新輸入!'
)continue
else
: addr =
''' 您選擇的位址為:%s%s%s
'''%(dic_city[user_input]
, dic_district[district]
, dic_address[address]
)# 段落輸出格式,%s代替字串
(addr.strip())
return
continue
break
continue
else
('輸入不正確,請重新輸入!'
)continue
menu(
)
logic iterate 巢狀實現
標記用於在頁面中建立乙個迴圈,以此來遍歷如陣列 collection map這樣的物件。該標記的功能強大,在struts應用的頁面中經常使用到。1 對陣列進行迴圈遍歷 使用標記可以用於遍歷陣列,以下是一段示例 string testarray pagecontext.setattribute tes...
Python基礎 之for迴圈巢狀例項
python基礎 之for迴圈巢狀實 一 在控制台中輸出以下字元樣式 例 for r in range 3 0 1 2 for c in range 5 01234 01234 01234 print end 在一行輸出 print 換行二 在控制台中輸出以下字元樣式 for r in range ...
彙編用迴圈巢狀實現氣泡排序
data segment a dw 2,5,6,8 l equ a data ends code segment assume cs code ds data start mov cx,l shr cx,1 邏輯迴圈右移指令,移動1位,相當於除以二 dec cx 迴圈n 1次 loop1 push ...