投稿/コメントを表示します。

たかちゃんさんの投稿

(投稿ID: 5349)

リストの中に辞書データを作成、中のデータを更新するものを作成してみました。
keys = [k for k, v in jul_dic.items() if v == input_name]
で取ってきた、keysが文字列ではなくリストの値でしたので、文字列に変更し必要な部分だけ取得するようにしました。(^^;;
"""
1〜7日の予約表リスト作成
jul_holiday_listは、土・日曜日
"""
jul_list = []
jul_holiday_list = [2, 3, ]

for i in range(1, 8):
    if i in jul_holiday_list:
        jul_list.append(
            {"day": i, "am": "休み", "name_am": "", "pm": "休み", "name_pm": "",}
        )
    else:
        jul_list.append(
            {"day": i, "am": "空き", "name_am": "", "pm": "空き", "name_pm": "", }
        )

"""
予約処理
"""
input_day = int(input("予約日を入力してください。-->"))
input_name = input("お名前を入力してください。-->")
input_ampm = int(input("午前と午後を数字で選択してください。午前:1、午後:2-->"))

for i, jul_dic in enumerate(jul_list):
    if input_day == jul_dic["day"]:
        if input_ampm == 1:
            if jul_dic["am"] == "空き":
                jul_dic["am"] = "予約済"
                jul_dic["name_am"] = input_name
                print(f"{jul_dic['name_am']}さん、{jul_dic['day']}日午前に予約が完了しました。")
            else:
                print("予約できません。")
                break
        elif input_ampm == 2:
            if jul_dic["pm"] == "空き":
                jul_dic["pm"] = "予約済"
                jul_dic["name_pm"] = input_name
                print(f"{jul_dic['name_pm']}さん、{jul_dic['day']}日午後に予約が完了しました。")
            else:
                print("予約できません。")
                break

"""
予約状況
"""
for n, v in enumerate(jul_list):
    print(v)

"""
キャンセル処理
"""
user_decn = input("キャンセルをしたいですか。y or n -->")

if user_decn == "y":
    for n, jul_dic in enumerate(jul_list):
        keys = [k for k, v in jul_dic.items() if v == input_name]
        if keys != []:
            str_li = str(keys)
            trim_keys_name = str_li[2:9]
            trim_keys_time = str_li[7:9]
            print(f"{jul_dic[trim_keys_name]}さん、予約をキャンセルしました。")
            jul_dic[trim_keys_name  ] = ""
            jul_dic[trim_keys_time] = "空き"
            break
else:
    print("ご利用ありがとうございました。")


"""
予約状況確認
"""
for n, v in enumerate(jul_list):
    print(v)

2022/07/25 05:56