私の機能の目標は、その日時のパラメータに対応するそのカレンダーのスロットを予約することです。予約は、カレンダーの値を「X」に変更することによって行われます(その日/時間が予約されていることを示すため)。ここで私が持っているコードは、これまでのところです:カレンダーのリストの値を変更するにはどうすればいいですか?
def find_index(val, seq):
for index in range(len(seq)):
place = seq[index]
if place == val:
return index
else:
return int("-1")
def init_nested_list(size_outer, size_inner):
cal = []
for outer_index in range(size_outer):
nested_list = []
for inner_index in range(size_inner):
nested_list.append("-")
cal.append(nested_list)
return cal
def book_slot(cal,days_labels, times_labels, day, time):
pos1 = find_index(day, days_labels)
desired_day = cal[pos1]
pos2 = find_index(time, times_labels)
desired_time = desired_day[pos2]
if desired_day == "X":
print("We are sorry - that time is not available. Please try again.")
else:
print("Appointment is booked.")
days_labels = ["Wednesday","Thursday","Friday"]
times_labels = ["9","10","11"]
cal = init_nested_list(len(days_labels), len(times_labels))
print("before" , cal)
book_slot(cal, days_labels, times_labels, "Friday", "10")
print("after" , cal)
は、これは私が取得しています出力されます:
before [['-', '-', '-'], ['-', '-', '-'], ['-', '-', '-']]
Appointment is booked.
after [['-', '-', '-'], ['-', '-', '-'], ['-', '-', '-']]
これは私が取得する必要があります出力されます。
before [['-', '-', '-'], ['-', '-', '-'], ['-', '-', '-']]
Appointment is booked.
after [['-', '-', '-'], ['-', '-', '-'], ['-', 'X', '-']]
We are sorry - that time is not available. Please try again.
あなたのよう正しい出力は入れ子リストの2番目の要素(金曜日10時)を表示しますが、私のコードではそうではありません。私はdesired_dayは、ユーザーが予約したいと思っている日であることを知っていますが、それを適切に取得する方法は不明で、ユーザーが予約したときに文字列 "X"に割り当てます。私はまた、これを引き起こしているbook_slot関数にコーディングエラーがあることを知っていますが、もう一度、私はそれが何であるか確信しています...助けてください?