Skip to content

Commit 6a7d1dc

Browse files
committed
/Users/huangjiabao/bornforthis.cn/docs/1v1/96-Four-dimensional/2022F_TT2.md /Users/huangjiabao/bornforthis.cn/docs/1v1/96-Four-dimensional/CSCA20-Lab1.md /Users/huangjiabao/bornforthis.cn/docs/1v1/96-Four-dimensional/CSCA20-Lab2.md /Users/huangjiabao/bornforthis.cn/docs/1v1/96-Four-dimensional/CSCA20-Lab3.md /Users/huangjiabao/bornforthis.cn/docs/1v1/96-Four-dimensional/CSCA20-Lab4.md /Users/huangjiabao/bornforthis.cn/docs/1v1/96-Four-dimensional/CSCA20-Lab5.md
1 parent 9e323df commit 6a7d1dc

File tree

1 file changed

+181
-0
lines changed

1 file changed

+181
-0
lines changed

src/1v1/96-Four-dimensional/2022F_TT2.md

Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,188 @@ Your job is to write a simple booking app that asks the user to input a day of t
2828

2929
In 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:如何得到03
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

Comments
 (0)