簡體   English   中英

根據用戶輸入打印 dict 的特定元素?

[英]Print specific elements of dict based on user input?

我正在創建一個汽車租賃程序,我有一本包含汽車的字典。

car_dict = {'Sports': {'Audi': 'TT', 'Ferrari':'Spider'}, 
           'Luxry': {'Mercedes':'S-Class','Rollys Royce':'Phantom'},

我有兩個循環要打印,但一個使用用戶輸入,另一個不使用 - 我需要有效地組合它們以顯示用戶選擇的類別,因此如果他們鍵入“運動”,它會顯示

Category chosen: 
--Sports--
>Audi TT
>Ferrari Spider

但是現在,我的兩個循環

 u_input = input("Enter >> ")
    if u_input in car_dict:
        try:
            print("Category chosen: ", car_dict[u_input])
        except KeyError:
            print("Not an existing category, sorry.")

 for key, value in car_dict.items():
        if key == 'Sports':
            print("--", key, "Cars --")
            for pair in value.items():
                print(*pair)

他們打印不同,我需要兩者的結合? 如果這是有道理的。 當前,循環 1 顯示

Category chosen:  {'Audi': 'TT', 'Ferrari': 'Spider'}

和循環 2,

--Sports--
Audi TT
Ferrari Spider

后者不接受輸入。 我將如何解決這個問題? 獲取用戶輸入並顯示匹配類別,如第二個循環。 我似乎無法弄清楚。 謝謝

不需要第二個循環,只需使用通過用戶輸入選擇的元素。

u_input = input("Enter >> ")
if u_input in car_dict:
    print(f"Category chosen:\n--{u_input}--")
    for make, model in car_dict[u_input]:
        print(f'>{make} {model}')
else:
    print("Not an existing category, sorry.")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM