python闖關 python闖關 Day05

2021-10-13 02:47:33 字數 1624 閱讀 3276

乙個簡單的**選單

#! /usr/bin/env python

#-*- coding:utf-8 -*-

mymenu = {

'動物' : {

'貓' : ['黃貓','花貓'],

'狗' : ['二哈','金毛']

'植物' : {

'樹' : ['大樹','小樹'],

'草' : ['綠草','矮草']

menu_list = list(mymenu.keys())

while true:

print(" 編號 ".center(50,'*'))

for i in menu_list:

print(menu_list.index(i)+1,i)

a_id = input("請輸入選單編號,或輸入q(quit)退出:")

if a_id.isdigit():

a_id = int(a_id)

if a_id > 0 and a_id <= len(menu_list):

a_name = menu_list[a_id-1]

b_list = list(mymenu[a_name].keys())

while true:

print(" b級 ".center(50,'*'))

for v in b_list:

print(b_list.index(v)+1,v)

b_id = input("請輸入編號,或輸入b(back)返回上級選單,或輸入q(quit)退出:")

if b_id.isdigit():

b_id = int(b_id)

if b_id > 0 and b_id <= len(b_list):

city_name = b_list[b_id-1]

town_list = mymenu[a_name][city_name]

while true:

print(" c級 ".center(50,'*'))

for j in town_list:

print(town_list.index(j)+1,j)

back_or_quit = input("輸入b(back)返回上級選單,或輸入q(quit)退出:")

if back_or_quit == 'b':

break #終止此層while迴圈,跳轉到上一層while。

elif back_or_quit == 'q':

exit()

else:

print("輸入非法!")

else:

print("編號%d不存在。"%b_id)

elif b_id == 'b':

break

elif b_id == 'q':

# flag = true

# break

exit()

else:

print("輸入非法!")

# if flag1:

# break

else:

print("編號%d不存在。"%a_id)

elif a_id == 'q':

break

else:

print("輸入非法!")

python闖關 python闖關 Day02

q1 寫乙個使用者迴圈猜年齡的遊戲,猜對就退出,猜不對就繼續猜,猜三次,提示使用者是否繼續,使用者回答y或者y就繼續猜,三次之後再重複,回答n或n就結束遊戲。usr bin env python coding utf 8 猜年齡 import random age random.randint 1,...

python闖關 python闖關 Day009

第9章 合併表達 1 將names albert james kobe kd 中的名字全部變大寫 names albert james kobe kd names name.upper for name in names 應記住的表達方式,很python print names 2 將names a...

python闖關 python闖關 Day06

函式式程式設計 python的函式式程式設計,需要關注以下幾個點。1.引數 有無引數 形參和實參的區別 引數可以是哪些型別,引數的讀取順序等。2.返回值 未指定的情況下,預設是有返回值的。按照之前的程式經驗,呼叫函式前需要將環境引數壓棧,再壓入引數 push 再跳轉到函式,再由函式反向讀取壓入的引數...