列题
1.使用循环输出正是三角型(由上到下)
'''
*
**
***
****
*****
'''
1.用while方法:
#定义i初始值为1
i = 1
#开始执行,while条件小于6,满足执行代码。
while i < 6:
#设置j的初始值为1
j = 1
#开始小while循环,开始j为1,小于i,打印出一个*在第一行,再自增为j=2。
#后面继续小while循环,j=2 > i=1,不符合,则不执行小while循环代码,跳出小while循环,执行下面代码。
while j <= i:
j += 1
print('*', end='')
#跳出小while代码打印出星号并自增,i=2。
#再循环到大while循环来判断条件。符合则往下执行,依次往复,打印第二行星号。
i += 1
print('')
2.用for方法:
#让i=[1,2,3,4,5]
for i in range(1, 6):
#再嵌套一个for循环,使 j=[1,x,y,z,i+1]
#刚开始i=1,所以循环到j=1,[1,2)
#运行在for j后打印*在第一层
#j取完值后直接退出小for循环,执行下面操作。
#回到第一个大for循环, i = 2,接下轮到小for循环,j=[1,2,3)
#第二次循环时j=2,则打印2颗星号在第二层,依次反复,就是一个正三角形。
for j in range(1, i+1):
print('*', end='')
#换层,换下一层。
print()
3.'''i和j共进退'''i=j,在同层次。前面小while因为i小所以正常结束循环到下面i自增,而for因为本身性质取到了就会继续往下取,但是i如果值不自增的话,就会跳出小for循环,返回大for循环,将i往后取值。
2.使用循环输出倒是三角型(由左到右)
'''
*****
****
***
**
*
'''
1.用while方法:
#先定义一个i 的初始值为5,因为开始就是与j作比较运算。
i = 5
#先防止i最后为0,最好要大于0
while 0 < i < 6:
#定义一个j初始值为1
j = 1
#当 i=5 时,循环到小while循环,满足条件,打印*在第一层,然后自增,将继续在小while内判断是否满足条件
#如果满足条件,这继续在第一行打印第二个星号,直到j>i为止,也就是说j最多等于5
#打印5个星号在第一层。结束小while循环,执行后面i自增操作。然后执行大while循环,又到了,小while循环后,补充第二层,后面以此类推,反反复复,就得出来了。
while j <= i:
print("*", end='')
j += 1
i -= 1
print()
2.用for方法:
# i = [1, 2, 3, 4, 5]
# j = [i, 'x1', 'x2', 'x3', 5]
#开始i = 1,
for i in range(1, 6):
#j[1,6),j=1,打印一个*在第一层。
for j in range(i, 6):
#后面j判断,可以取第二值,所以继续循环小for,j=2
#打印第二个*在第一层,依次往复,直到打印5个*在第一层位为止就结束了循环,因为j它取不到值了,后面就循环到大for, i[2,5]。
#来到第二层,j[2,6),一遍遍取值打印,第二层,只能打印2->1,3->2,4->3,5->4,打印四个*在第四层。
print('*', end='')
print()
3.打印9*9乘法表:
1 * 1= 1
2 * 1= 2 2 * 2= 4
3 * 1= 3 3 * 2= 6 3 * 3= 9
4 * 1= 4 4 * 2= 8 4 * 3= 12 4 * 4= 16
5 * 1= 5 5 * 2= 10 5 * 3= 15 5 * 4= 20 5 * 5= 25
6 * 1= 6 6 * 2= 12 6 * 3= 18 6 * 4= 24 6 * 5= 30 6 * 6= 36
7 * 1= 7 7 * 2= 14 7 * 3= 21 7 * 4= 28 7 * 5= 35 7 * 6= 42 7 * 7= 49
8 * 1= 8 8 * 2= 16 8 * 3= 24 8 * 4= 32 8 * 5= 40 8 * 6= 48 8 * 7= 56 8 * 8= 64
9 * 1= 9 9 * 2= 18 9 * 3= 27 9 * 4= 36 9 * 5= 45 9 * 6= 54 9 * 7= 63 9 * 8= 72 9 * 9= 81
#\t为制表符,代表四个空格也就是tab。
# 它的写法是“\t”,是反斜杠和t字母的组合,t取的是table之意。
# 它的作用是对齐表格数据的各列,在不使用表格的情况下可以上下对齐。
for i in range(1, 10):
for j in range(1, i+1):
# \t为制表符,代表四个空格也就是tab。
# 它的写法是“\t”,是反斜杠和t字母的组合,t取的是table之意。
# 它的作用是对齐表格数据的各列,在不使用表格的情况下可以上下对齐。
print("%d * %d= %-2d " % (i, j, i*j), end='\t')
print(" ")
4.使用while输出等边三角形
*
* *
* * *
* * * *
* * * * *
* * * *
* * *
* *
*
整体的方法思路就是拆两个部分来看,一个是前5次循环,下面是后4次循环,一共9次循环。
方法一:
#定义i的初始值为1
i = 1
#设置循环,当i循环9次就结束循环
while i < 10:
#判断i是否大于5,如果小于,则执行if代码,第一层打印一个星号。
# 如果大于, 则执行else代码。打印出四个星号,
if i <= 5:
print('*'*i)
else:
print('*'*(10-i))
i += 1
方法二:
i = 1
while i < 10:
#先考虑上部分的,当i小于5时,
if i <= 5:
#定义j的初始值为1
j = 1
#当j小于或者等于时就加1,当j大于i时就退出这个小循环。直到,i自增1,
#再循环到if是否小于或等于i。如此往复,就打印完了上半部分。
while j <= i:
print('*', end='')
j += 1
#判断i大于5时,也就是第六次循环,则执行else代码。
else:
#定义一个k值,初始化k值为1。
k = 1
#当前i为6,则k小于4,则符合条件,打印* 号,再循环三次后,第六层的星号已经打满4个
#当k为6时,则不符合小while循环的条件,则跳出循环,到i自增1
#再回到大while循环,后回到else内代码,将k初始化为1,打印di7层的*号。
#如此往复,一层一层打满,后最后到i=10时不符合大while循环的条件就结束循环
while k <= (10-i):
print('*', end='')
k += 1
print()
i += 1
方法三(结合打出正三角形和倒三角形的方法)
i = 1
while i <= 5:
j = 1
while j <= i:
print('*', end='')
j += 1
print()
i += 1
i = 4
while 0 < i <=4:
j = 1
while j <= i:
print('*', end='')
j +=1
print()
i -= 1