本文主要是介绍Python-07-循环遍历、嵌套循环,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
1、循环遍历的拓展形式
2、嵌套循环打印输出长方形和三角形
3、嵌套循环打印输出棱形和空心棱形
1、循环遍历的拓展形式
s=0 #用于存储累加和
for i in range(1,11):
s+=i
else:
print('1-10之间的累加和为:',s)
循环结构
无限循环while的语句结构:
while 表达式
语句块
while...else...结构
while 表达式:
语句块1
else:
语句块2
while循环的四个步骤
·初始化变量
·条件判断
·语句块
·改变变量
answer=input('今天要上课吗?y/n')
while answer=='y':
print('好好学习,天天向上')
answer=input('今天要上课吗?y/n')
1-100之间的累加和
sum=0
i=1
while i<=100:
sum=sum+i
i=i+1
else:
print('1-100的和为:',sum)
使用while循环模拟用户登录
i=0
while i<3:
user_name=input('请输入用户名') # 条件判断0,1,2
pwd=input('请输入您的密码')
if user_name=='123' and pwd=='111111':
print('系统正在登陆,请稍后')
else:
if i<2:
print('账号输入错误,您还有',2-i,'次机会')
i+=1
if i==3:
print('对不起,三次均输入错误')
2、嵌套循环打印输出长方形和三角形
循环结构也可以互相嵌套,在一个循环结构中嵌套另外一个完整的循环结构就称为嵌套循环
while 表达式1:
while 表达式2:
语句块2
for 循环变量1 in 遍历对象1:
for 循环变量2 in 遍历对象2:
语句块2
eg:长方形
****
****
****
for i in range(1,4): #外层循环 行,共有三行
for j in range(1,5):#内层循环 列
print('*',end='')
print() # 空的print语句,作用是换行
eg:直角梯形
*
**
***
****
*****
for i in range(1,6): #5行
# *的个数与行相同,第一次range(1,2),第二次range(1,3)
for j in range(1,i+1):
print('*',end='')
print() # 空的print语句,作用是换行
eg:倒三角
*****
****
***
**
*
for i in range(1,6):
for j in range(1,7-i):
print('*',end='')
print()
eg:等腰三角形
*
***
*****
*******
*********
for i in range(1,6):
for j in range(1,6-i):
print(' ',end='')
for k in range(1,2*i):
print('*',end='')
print()
3、嵌套循环打印输出棱形和空心棱形
eg:棱形
*
***
*****
*******
*****
***
*
hangshu=eval(input('请输入棱形的行数:'))
while hangshu%2==0: #判断行数的奇偶性,行数为偶数,重新输入行数
print('重新输入棱形的行数:')
hangshu=eval(input('请输入棱形的行数:'))
top=(hangshu+1)//2 #输出棱形上半部分的行数,实际上是一个等腰三角形
for i in range(1,top+1):
for j in range(1,top+1-i):
print(' ',end='') #输出空格
for k in range(1,2*i):
print('*',end='')
print()
down=hangshu//2 #下半部分画一个直角三角形变成空格
for i in range(1,down+1):
for j in range(1,i+1):
print(' ',end='')
for k in range(1,2*down-2*i+2):
print('*',end='')
print()
eg:空心棱形
*
* *
* *
* *
*
hangshu=eval(input('请输入棱形的行数:'))
while hangshu%2==0: #判断行数的奇偶性,行数为偶数,重新输入行数
print('重新输入棱形的行数:')
hangshu=eval(input('请输入棱形的行数:'))
top=(hangshu+1)//2 #输出棱形上半部分的行数,实际上是一个等腰三角形
for i in range(1,top+1):
for j in range(1,top+1-i):
print(' ',end='') #输出空格
for k in range(1,2*i):
if k==1 or k==i*2-1:
print('*',end='')
else:
print(' ',end='')
print()
down=hangshu//2 #下半部分画一个直角三角形变成空格
for i in range(1,down+1):
for j in range(1,i+1):
print(' ',end='')
for k in range(1,2*down-2*i+2):
if k==1 or k==2*down-2*i+2-1:
print('*',end='')
else:
print(' ',end='')
print()
这篇关于Python-07-循环遍历、嵌套循环的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!