Python自学DAY03

1.简单打印图形:

1 # 利用双层for循环打印简单图形
2 for i in range(0,4):
3     # 利用for循环打印一行*号
4     for j in range(0,5):
5         # print默认会自动换行
6         # 可以通过end参数控制
7         print("*", end=" ")
8     print()

2.将1中打印的图形只留下边框, 中间部分去掉,看如何利用之前学习的知识解决

 1 # 1. 正常利用for循环控制打印行
 2 # 2. 如果是第一行和最后一行, 则完整打印
 3 # 3. 否则,判断打印咧, 如果是第一列或者最后一列, 则打印空格
 4 
 5 # 外层循环控制行
 6 for i in range(0,4):
 7     if i == 0 or i == 3:
 8         print("* " * 5)
 9     else:
10         print("*       *")

看上述代码是否实现了自己想要的结果,但并不没有将所学的知识进行更好的练习所以接下来用另一种方法打印

 1 # 更改上面写法
 2 # 外层循环控制行
 3 for i in range(4):
 4     if i == 0 or i == 3:
 5         print("* " * 5)
 6     else:
 7         for j in range(5):
 8             if j == 0 or j == 4:
 9                 print("* ", end="")
10             else:
11                 print("  ",end="")
12         print()

第二种方法将for循环,if分支,多重利用, 更加让你熟悉其使用方法, 还有就是在python中的缩进十分重要

3.利用for循环打印三角形

 1 # for循环, 逐次按行打印, 这件事基本是一样或者类似, 优先考虑for 循环
 2 
 3 for i in range(5):
 4     # 打印一行
 5     # 每一行打印几个*号, 跟行号有关
 6     # 一行内打印不需要换行, 一行打印完之后,需要换行
 7     for j in range(i + 1):
 8         print("* ", end="" )
 9     print()
10                     

下面利用for ,即if 打印一个跟上面类似的空心三角形

 1 for i in range(5):
 2     # 打印一行
 3     # 每一行打印几个*号, 跟行号相关
 4     # 一行内打印不需要换行, 一行打印完毕换行
 5     # 需要判断打印的是否是最后一行, 如果是, 则打印全部*号
 6     # 否则, 需要判断是否第一个和最后一个位置, 如果是打印*号, 否则打印空格
 7     for j in range(i + 1):
 8         if i == 4:
 9             print("* " , end="")
10             continue
11 
12         # 如果不是最后一行
13         # j 控制的是列的数字
14         if j == 0 or j == i :
15             print("* ", end="")
16         else:
17             print("  ", end="")
18     print()    

猜你喜欢

转载自www.cnblogs.com/lijianqing/p/9337642.html