提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
]本文主要介绍for 循环和while 循环的使用以及使用的方法
提示:以下是本篇文章正文内容,下面案例可供参考
一、for 循环以及range?
1.1 循环的概念
广义:周期出现的现象或者重复出现的情况
狭义:在满足条件的情况下,反复执行某一段代码,在编程语言中出现的情况,这种状态被称为循环。被反复执行的这段代码被称为循环体
当反复执行某段代码时,需要在合适的时机将循环停止下来,否则会产生死循环
python 中提供的循环语句:while语句,for-in 语句
1.2 for循环的使用
For语法:
For 变量名 in 集合:
语句
'''
应用场景:
1. 猜大小 ---》反复的猜
2. 消消乐 ---》 反复充值
3. 用户登录 ----》 登录多次
用户名
密码
循环结构:
for 变量名 in 集合:
语句
怎么用?
'''
# 使用系统给定range()完成范围指定
print(range(8)) # range(0,8) 包含0 但是不包含8 0,1,2,3,4,5,6,7
# 打印三次
for i in range(2):
print('hello ---->',i)
print('---- game over -----')
'''
循环:吃5个馒头
'''
name='赵飞'
# 方式1:
# for i in range(5): # 0,1,2,3,4
# # i = 0
# print('{}很饿,正在吃第{}馒头'.format(name,i+1))
#方式2:
# for i in range(1,6): # 1,2,3,4,5
# print('{}很饿,正在吃第{}馒头'.format(name,i))
# print('{}说:终于吃饱啦!'.format(name))
# range(n) ---> 0~n-1
# range(m,n) ----> m ~ n-1
'''
吃馒头:在第三个馒头上抹了一点’鹤顶红‘
'''
# print('*'*30)
# name = '张无忌'
# for i in range(1,6):
# # 判断i的值是多少,i==3 别吃
# if i==3: # i=1,2,4,5
# print("{}赶快扔掉这个馒头,有剧毒:'鹤顶红'!!!".format(name))
# else:
# print('{}很饿,正在吃第{}馒头'.format(name,i))
# print('{}说:终于吃饱啦!'.format(name))
'''
for .... else
else:适用于for执行完或者没有循环数据时,需要做的事情
for i in 范围:
有数据执行的语句
else:
没有数据执行的语句
pass 空语句
只要有缩进而缩进的内容还不确定的时候,此时为了保证语法的正确性,就可以使用pass占位。
不会报出语法错误。
'''
# num = int(input('请输入需要的馒头数量:'))
# for i in range(num): # 2
# print('{}很饿,正在吃第{}馒头'.format(name,i+1))
# else:
# print('还没有给我馒头,{}饿哭啦.....'.format(name))
# print('---------------')
# if 10<7:
# print('10是大的')
# else:
# pass
# print('-----判断结束-----')
# 用户的账号密码登录而且只能登录三次,如果三次未成功账户锁定
# break 关键字
# for i in range(3):
# username = input('请输入用户名:')
# password = input('请输入密码:')
# # 验证用户名和密码
# if username =='songsong' and password == '123456':
# print('欢迎!用户:{}'.format(username))
# print('-------轻松购物吧---------')
# break
# else:
# print('用户名或者密码有误!')
# else:
# print('账户被锁定,需要重新激活!') # 三次输入错误的时候
# 登录成功
# 0,1,2
for i in range(3):
if i==4:
print('这家店是黑店,馒头有毒!等着关门吧!')
print('--------->进入消费者协会大门')
break # 跳出循环结构
print('abcd') # 即使有语句也不会执行,干脆别写!
else:
print('这家店的馒头真香啊!要多吃几个呀!')
else:
print('---->这家店太棒啦,下次再来!')
'''
'''
for 语句的三大关键词
1.else---------当循环列表为空时,就会执行此语句
2.break -----------中断循环
3.pass 语句 ----空语句,当循环到此时如果不需要进行任何操作可以执行此语句
range关键词的意义:
range的范围正常执行完毕,而没有异常break跳出。就可以执行else,
只要有break执行了就不会执行else
range(n) ~ range(0,n)
range(m,n) ~ range(start,end)
range(m,n,step) ~ range(start,end,step)
step: 步长
for i in range(5):
print(i)
0,1,2,3,4
for i in range(5):
pass
else:
pass
break: 跳出
二、while循环
1.while 循环的语法
while 表达式:
循环体
工作原理:遇到while语句时,首先计算表达式的值,如果表达式的值为假,则跳过整个while语句,继续执行下面的代码;如果表达式的值为真,则执行循环体
2.while-else 语句
while 表达式:
循环体
else:
【else语句块】
说明:当while语句执行完成之后,执行【else语句块】,如果用break跳出循环则不执行else
3.死循环
在循环语句中,表达式永远为真的循环
``python
while True:
#循环体
while 1:
#循环体
4. 循环的嵌套
while 条件1: #外层循环
【语句块A】
while 条件2: #内存循环
【语句B】
执行流程:首先判断外层循环的条件1,如果为真,则执行循环体中的【语句块A】,执行内层循环,判断条件2是否成立,如果成立,执行内层循环的【语句块B】,执行完内层循环后,重新判断外层循环条件…
- 特点:外层循环走一步,内层循环执行一遍
- 外层循环和内层循环的循环变量必须不同
1.3. break和continue、exit()
continue 语句用来跳过当前循环的剩余语句,然后重新判断循环条件,开启下一轮循环。continue只能出现在while和for循环中
break用于结束当前循环。只对当前这一重循环起作用。break只能出现在循环中
exit()结束程序
打印九九乘法表与打印三角形的实例
for i in range(1,50,5):
print('---->',i)
# range(start,end)
# 打印1-30之间的所有3的倍数
#使用while 循环做
i=1
while i<=30:
if i%3==0:
print(i)
i+=1
#使用for 循环做
for i in range(1,31):
if i%3==0:
print(i)
#使用n+3
n=3
while n<=30:
print('===>',n)
n+=3
#方式三
n=3
while n<=30 and n%3==0:
print('****',n)
n+=3
#打印1-30之间所有即使3的倍环视5的倍数
n=1
while n<=30:
if n%3==0 and n%5==0 :
print('--------',n)
n+=1
'''
使用while 循环计算1-20的累加和
'''
#使用while写的
n=1
sum=0
while n<=20:
sum+=n
n+=1
print(sum)
#for 循环的写法
a=1
sum=0
for a in range(1,21):
sum+=a
print('<--->累加和是:',sum)
'''
打印三角形
*
**
***
****
******
'''
#方式一
number=1
while number<=5:
print('*'*number,end='\n')
number+=1
'''
分析:
1.层数明确
2.发现规律,层数与个数
3.用什么表示什么层,*表示的个数
'''
# ____________________---
#方式二
ceng=1
while ceng<=5:
#打印*
#print("*"*ceng)
#嵌套while循环
count=1
while count<=ceng:
if count==ceng:
print('*',end='\n')
count+=1
if count<ceng:
print('*',end='')
count+=1
ceng+=1
#方式三
ceng=1
while ceng<=5:
#打印*
#print("*"*ceng)
#嵌套while循环
count=1
while count<=ceng:
print('*',end='')
count+=1
ceng+=1
print()#换行
# 打印倒三角形
#while 循环打印九九乘法表
number=1
while number<=9:
count=1
while count<=number:
print(str(count)+' '+'x'+' '+str(number)+' '+'='+' '+str(count*number),end=' ')
count+=1
number+=1
print()
#for 循环打印九九乘法
for x in range(1,10):
count=1
for count in range(1,x+1):
print(str(count)+' '+'x'+' '+str(x)+' '+'='+' '+str(count*x),end=' ')
print()
总结
主要介绍了python中的两大循环结构while 和 for 循环