一个练习教你深度理解嵌套for循环——python基础练习

#打印9行9列的图形,控制各种显示各种位置三角形
#如果对这个题目没有思路,我们可以显示着寻找规律
#这里我带大家一起理解打印各种三角形的思路
#首先我们尝试打印对角斜线线
*									
	*								
		*							
			*						
				*					
					*				
						*			
							*		
								*	
#这是一个九行九列的斜线,它有什么规律呢?
#不难发现每个*号的 row = line,所以我们这样输出代码,当对row 和 line 嵌套循环
#外层循环控制行,内存循环控制列  当 row == line时我们输出*
for i in range(1,10):
    for j in range(1,10):
        if i == j:
            print('*',end='\t')
        else:
            print('',end='\t')
    print()


#我们再试着打印另外一个对角斜线,和上面思路一样
								*	
							*		
						*			
					*				
				*					
			*						
		*							
	*								
*									

for i in range(1,10):
    for j in range(1,10):
        if i + j == 10:
            print('*',end='\t')
        else:
            print('',end='\t')
    print()

#加大难度 打印如图三角形
*	*	*	*	*	*	*	*	*	
	*	*	*	*	*	*	*	*	
		*	*	*	*	*	*	*	
			*	*	*	*	*	*	
				*	*	*	*	*	
					*	*	*	*	
						*	*	*	
							*	*	
								*	
#不难发现 当通过嵌套循环  对于每行 row>=line时会输出*
for i in range(1,10):
    for j in range(1,10):
        if i <= j:
            print('*',end='\t')
        else:
            print('',end='\t')
    print()


#有了以上思路我们可以打印剩余的不同角度的三角形
*									
*	*								
*	*	*							
*	*	*	*						
*	*	*	*	*					
*	*	*	*	*	*				
*	*	*	*	*	*	*			
*	*	*	*	*	*	*	*		
*	*	*	*	*	*	*	*	*
for i in range(1,10):
    for j in range(1,10):
        if i >= j:
            print('*',end='\t')
        else:
            print('',end='\t')
    print()
								*	
							*	*	
						*	*	*	
					*	*	*	*	
				*	*	*	*	*	
			*	*	*	*	*	*	
		*	*	*	*	*	*	*	
	*	*	*	*	*	*	*	*	
*	*	*	*	*	*	*	*	*	
*	*	*	*	*	*	*	*	*	
for i in range(1,10):
    for j in range(1,10):
        if i + j >= 10:
            print('*',end='\t')
        else:
            print('',end='\t')
    print()
*	*	*	*	*	*	*	*	*	
*	*	*	*	*	*	*	*		
*	*	*	*	*	*	*			
*	*	*	*	*	*				
*	*	*	*	*					
*	*	*	*						
*	*	*							
*	*								
*
for i in range(1,10):
    for j in range(1,10):
        if i + j <= 10:
            print('*',end='\t')
        else:
            print('',end='\t')
    print()
#再次进阶  九行九列中如何打印以下图形呢?
								*	
							*	*	
						*	*	*	
					*	*	*	*	
				*	*	*	*	*	
					*	*	*	*	
						*	*	*	
							*	*
                                *	
#不难发现  他其实是刚刚输出四个三角形中两个三角形的交集	,有了以上思路我们就可以进行输出							
for i in range(1,10):
    for j in range(1,10):
        if i + j >= 10 and j >= i:
            print('*',end='\t')
        else:
            print('',end='\t')
    print()

#再次强化 尝试自己打印以下三角形
*									
*	*								
*	*	*							
*	*	*	*						
*	*	*	*	*					
*	*	*	*						
*	*	*							
*	*								
*



for i in range(1,10):
    for j in range(1,10):
        if i + j <= 10 and j <= i:
            print('*',end='\t')
        else:
            print('',end='\t')
    print()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值