@@ -28,7 +28,188 @@ Your job is to write a simple booking app that asks the user to input a day of t
2828
2929In order to store the bookings, you should create a list of lists of booleans. That is to say, a list of seven elements where each element is a list of 24 boolean (True or False) values representing the booking status for a specific day/hour.
3030
31+ ::: tabs
32+
33+ @tab 语法
34+
35+ 1 . 列表的整数倍增加;
36+
37+ ``` python
38+ lst = [1 ]
39+ print (lst * 20 )
40+ ```
41+
42+ 2 . 字符串内置 strip():去掉字符串的前后空格
43+
44+ ```python
45+ s = " sunday "
46+ new_s = s.strip()
47+ print (s)
48+ print (new_s)
49+ ```
50+
51+ 3 . 判断元素在不在序列当中
52+
53+ ```python
54+ In [1 ]: days_of_week = {
55+ ... : " monday" : 0 ,
56+ ... : " tuesday" : 1 ,
57+ ... : " wednesday" : 2 ,
58+ ... : " thursday" : 3 ,
59+ ... : " friday" : 4 ,
60+ ... : " saturday" : 5 ,
61+ ... : " sunday" : 6 ,
62+ ... : }
63+
64+ In [2 ]: 1 in days_of_week
65+ Out[2 ]: False
66+
67+ In [3 ]: " monday" in days_of_week
68+ Out[3 ]: True
69+
70+ In [4 ]: lst = [1 , 2 , 3 , " aiyc" ]
71+
72+ In [5 ]: 1 in lst
73+ Out[5 ]: True
74+
75+ In [6 ]: 300 not in lst
76+ Out[6 ]: True
77+ ```
78+
79+ 4 . 字符串转换问题
80+
81+ ```python
82+ s = " aiyuechuang"
83+ print (s.isdigit())
84+
85+ s = " 12112121212"
86+ print (s.isdigit())
87+
88+ s = " 12112121212 "
89+ print (s.isdigit())
90+ ```
91+
92+
93+
94+ @tab 逻辑详解
95+
96+ 注意⚠️:包含开始时间,无需取到 duration!
97+
98+ 1 . 待一个小时的情况
99+
100+ ```python
101+ bookings = [[False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 ]
102+ duration = 1
103+ start_time = 14
104+ week = 1
105+ print (bookings[week][14 ]) # 判断 14:00 本身是否空闲
106+ # print(bookings[week][14 + 1])
107+ ```
108+
109+ 2 . 待两个小时的情况
110+
111+ ```python
112+ bookings = [[False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 ]
113+ duration = 2
114+ start = 14
115+ week = 1
116+ print (bookings[week][14 ]) # 判断 14:00 本身是否空闲
117+ print (bookings[week][14 + 1 ]) # 判断第一个小时是否空闲
118+ print (bookings[week][14 + 1 + 1 ]) # 判断第二个小时是否空闲
119+ ```
120+
121+ 3 . 待三个小时的情况
122+
123+ ```python
124+ bookings = [[False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 ]
125+ duration = 3 # 待三个小时
126+ start = 14
127+ week = 1
128+ print (bookings[week][14 ])
129+ print (bookings[week][14 + 1 ]) # 判断第一个小时是否空闲
130+ print (bookings[week][14 + 1 + 1 ]) # 判断第二个小时是否空闲
131+ # print(bookings[week][14 + 1 + 1 + 1]) # 判断第三个小时是否空闲
132+ ```
133+
134+ 4 . Step 1 :待三个小时以上的情况
135+
136+ ```python
137+ bookings = [[False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 ]
138+ duration = 3 # 待三个小时
139+ start = 14
140+ week = 1
141+ # 判断三个小时 or 三个小时以上,我如下执行
142+ print (bookings[week][14 ])
143+ print (bookings[week][14 + 1 ]) # 判断第一个小时是否空闲
144+ print (bookings[week][14 + 2 ]) # 判断第二个小时是否空闲
145+ # print(bookings[week][14 + 3]) # 判断第三个小时是否空闲
146+ ```
147+
148+ 5 . Step 2 :待三个小时以上的情况
149+
150+ ```python
151+ bookings = [[False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 ]
152+ duration = 3 # 待三个小时
153+ start = 14
154+ week = 1
155+ # 判断三个小时 or 三个小时以上,我如下执行
156+ print (bookings[week][14 ])
157+ print (bookings[week][start_time + 1 ]) # 判断第一个小时是否空闲
158+ print (bookings[week][start_time + 2 ]) # 判断第二个小时是否空闲
159+ # print(bookings[week][start_time + 3]) # 判断第三个小时是否空闲
160+ ```
161+
162+ 6 . Step 3 :待三个小时以上的情况
163+
164+ ```python
165+ bookings = [[False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 ]
166+ duration = 3 # 待三个小时
167+ start = 14
168+ week = 1
169+ print (bookings[week][14 + 0 ]) # 可以制作一个 +0 (类似数学当中构造一个:规律 or 公式)类似数学几何画辅助线
170+ print (bookings[week][start_time + 1 ])
171+ print (bookings[week][start_time + 2 ])
172+ # print(bookings[week][start_time + 3])
173+ ```
174+
175+ 7 . Step 4 :如何得到0 ~3 ?
176+
177+ ```python
178+ for i in range (3 ):
179+ print (i)
180+ # ---output---
181+ 0
182+ 1
183+ 2
184+ ```
185+
186+ 8 . Step 5 :
187+
188+ ```python
189+ bookings = [[False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 ]
190+ duration = 3 # 待三个小时
191+ start = 14
192+ week = 1
193+ # 如何得到0~3?
194+ for i in range (3 ):
195+ print (bookings[week][start + i])
196+ ```
197+
198+ 9 . Step 6 :
199+
200+ ```python
201+ bookings = [[False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 , [False ] * 24 ]
202+ duration = 3 # 待三个小时
203+ start = 14
204+ week = 1
205+ # 如何得到0~3?
206+ for i in range (duration):
207+ print (bookings[week][start + i])
208+ ```
209+
210+
31211
212+ :::
32213
33214
34215
0 commit comments