python字典巢狀實現位址選擇小功能

2021-10-03 10:36:54 字數 2982 閱讀 4175

,'上海市':,

'廣州市':}

dic_city =

dic_district =

dic_address =

defmenu()

:while

true

:for i in

enumerate

(city,1)

:# 迴圈字典city,並在keys前加序號

print

(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,判斷輸入是不是空值

print

('輸入不能為空,請重新輸入!'

)continue

# 退出本次迴圈

elif user_input in dic_city:

# 判斷使用者輸入是否在字典dic_city中

while

true

:for i in

enumerate

((city[dic_city[user_input]])

,1):

# 迴圈中新增序號

print

(i[0

], i[1]

) dic_district[

str(i[0]

)]= i[1]

district =

input

('區縣選擇或退出返回(請填寫序號即可):'

).strip()if

len(district)==0

:# 計算使用者輸入長度是否為0,判斷輸入是不是空值

print

('輸入不能為空,請重新輸入!'

)continue

elif district ==

list

(dic_district)[-

2]:# 判斷使用者輸入是否等於倒數第二個元素,即:返回

break

elif district ==

list

(dic_district)[-

1]:# 判斷使用者輸入是否等於最後乙個元素,即:退出

return

# 退出整個函式,這裡用來退出多層迴圈

elif district not

in dic_district:

# 判斷使用者輸入不在字典dic_district中

print

('輸入不正確,請重新輸入!'

)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,最後取

# 出第三層

print

(i[0

], i[1]

) dic_address[

str(i[0]

)]= i[1]

address =

input

('選擇位址或者返回退出(請填寫序號即可):'

).strip()if

len(address)==0

:print

('輸入不能為空,請重新輸入!'

)continue

elif address ==

list

(dic_address)[-

2]:break

elif address ==

list

(dic_address)[-

1]:return

elif address not

in dic_address:

print

('輸入不正確,請重新輸入!'

)continue

else

: addr =

''' 您選擇的位址為:%s%s%s

'''%(dic_city[user_input]

, dic_district[district]

, dic_address[address]

)# 段落輸出格式,%s代替字串

print

(addr.strip())

return

continue

break

continue

else

:print

('輸入不正確,請重新輸入!'

)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 ...