- 实心的都会写,直接循环print,那么空心的呢?
- 代码是这样的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23# 打印正方形
for i in range(20):
if i % 2 == 0:
print("*", end="")
else:
print(" ", end="")
print()
for j in range(8):
for i in range(20):
if i == 0:
print("*", end="")
elif i == 18:
print("*")
break
else:
print(" ", end="")
for i in range(20):
if i % 2 == 0:
print("*", end="")
else:
print(" ", end="")
- 代码是这样的
- 是的分成了三个部分,为了方便理解我分成了三个部分
- 第一部分和第三部分其实就是打印第一行和最后一行,最简单,这里打印10个*,为了好看,增加了空格隔开,所以range是20
1 | for i in range(20): |
- 第二部分,最关键这里:
- j循环控制行数,i循环控制每行在哪个位置打印,所以i等于0或者18的时候打印,i等于18的时候打印*之后就要break本次循环进入外层的j循环
- end的使用:end=“”的时候,就是不换行,也不空格。最关键的一个代码。
1 | for j in range(8): |