Python---控制台输出:空心正方形

  • 实心的都会写,直接循环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
2
3
4
5
6
7
8
for i in range(20):
# 以空格隔开,刚好打印*的位置是i偶数的位置,i奇数的位置打印空格
if i % 2 == 0:
print("*", end="")
else:
print(" ", end="")
# 要记得加入这句话,换行,上面的代码运行完毕不会换行
print()
  1. 第二部分,最关键这里:
  2. j循环控制行数,i循环控制每行在哪个位置打印,所以i等于0或者18的时候打印,i等于18的时候打印*之后就要break本次循环进入外层的j循环
  3. end的使用:end=“”的时候,就是不换行,也不空格。最关键的一个代码。
1
2
3
4
5
6
7
8
9
for j in range(8):
for i in range(20):
if i == 0:
print("*", end="")
elif i == 18:
print("*")
break
else:
print(" ", end="")
  • 最后一部分和第一部分是一样的,代码照搬

    空心正方形理解透彻以后我们进入下一个篇章,打印空心三角形