リストの中に辞書データを作成、中のデータを更新するものを作成してみました。 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)
たかちゃんさんの投稿
(投稿ID: 5349)
keys = [k for k, v in jul_dic.items() if v == input_name]
で取ってきた、keysが文字列ではなくリストの値でしたので、文字列に変更し必要な部分だけ取得するようにしました。(^^;;
小川 慶一さんのコメント
(コメントID: 7648)
コード内で特定の部分の機能についてコメントするときは、
python では、 docstring
は、関数やモジュール、クラス等の定義について書くときに使うというのがいちおうの作法です。
受講生さんのコメント
(コメントID: 7669)
ディクショナリーって結局どうやって使うのかに迷ったりしてたので、こちら参考になりました。
「ディクショナリーの内容をリストの中に格納して使う」?というのが結構多い感じがしますね。
違ったらすいません。
小川 慶一さんのコメント
(コメントID: 7670)
辞書もリストもスラスラ使えるようになると良いです。
変数の持ち方もいろいろなので、思いつくいろいろなやり方を試されることをオススメします。