八角网站建设,现在去山东会被隔离吗?,安徽省网站备案快吗,wordpress 文件类型Python-第四天 Python循环语句一、while循环1.while循环的基础语法2.while循环的基础案例3.while循环的嵌套应用4.while循环的嵌套案例二、for循环1.for循环的基础语法1.1基础语法1.2 range语句2.for循环的嵌套应用三、循环中断 : break和continue1.continue2.break四、 综合案…
Python-第四天 Python循环语句一、while循环1.while循环的基础语法2.while循环的基础案例3.while循环的嵌套应用4.while循环的嵌套案例二、for循环1.for循环的基础语法1.1基础语法1.2 range语句2.for循环的嵌套应用三、循环中断 : break和continue1.continue2.break四、 综合案例一、while循环
1.while循环的基础语法
while 条件:条件满足时做的事件1条件满足时做的事件2条件满足时做的事件3.....只要条件满足,会无限循环执行
i 0
while i 100:print(小美我喜欢你)i 1
while的条件需得到布尔类型True表示继续循环False表示结束循环需要设置循环终止的条件如i 1配合 i 100就能确保100次后停止否则将无限循环空格缩进和if判断一样都需要设置
练习案例求1-100的和 需求通过while循环计算从1累加到100的和 提示
终止条件不要忘记设置为确保while循环100次确保累加的数字从1开始到100结束
i 0
sum 0
while i 100:sum ii1
print(sum)2.while循环的基础案例
猜数字案例
设置一个范围1-100的随机整数变量通过while循环配合input语句判断输入的数字是否等于随机数
无限次机会直到猜中为止每一次猜不中会提示大了或小了猜完数字后提示猜了几次
提示
无限次机会终止条件不适合用数字累加来判断,可以考虑布尔类型本身True or False需要提示几次猜中就需要提供数字累加功能随机数可以使用 import random num random.randint(1,100) import random
num random.randint(1,100) #获得随机整数flag True #设置循环
count 0 #猜了几次while flag:guess_num int(input(请输入数字猜大小)) # 获取输入数字count 1 #每输入一次就猜了一次if guess_num num:flag False #猜对了就结束循环else: #猜错了要么大要么小if guess_num num:print(大了)else:print(小了)#结束循环后输出猜的数字和次数
print(f猜了{count}次猜对了底数是{num})3.while循环的嵌套应用
语法
while 条件1:条件1满足时做的事件1条件1满足时做的事件2条件1满足时做的事件3.....while 条件2:条件2满足时做的事件1条件2满足时做的事件2条件2满足时做的事件3.....i 1
while i 100:print(f今天是第{i}天准备表白......)j 1while j10:print(f送给小美第{j}只玫瑰花)j1print(小美我喜欢你)i1print(f坚持到第{i-1}天表白成功)同判断语句的嵌套一样循环语句的嵌套要注意空格缩进。基于空格缩进来决定层次关系注意条件的设置避免出现无限循环除非真的需要无限循环
4.while循环的嵌套案例
案例掌握使用while嵌套循环打印九九乘法表 补充知识 1.print输出不换行 在print语句中加上 end’’ 即可输出不换行了 print(‘Hello’,end‘’) print(‘World’,end‘’) 2.通过制表符让多行字符串对齐。 在字符串中有一个特殊符号\t效果等同于在键盘上按下tab键。 它可以让我们的多行字符串进行对齐。
print(Hello World)
print(ithema best )print(Hello\tWorld)
print(ithema\tbest )有了以上知识就能打印九九乘法表了
i 1
while i 9:j1while j i:print(f{j} * {i} {i*j}\t,end)j 1i 1print()二、for循环
1.for循环的基础语法
1.1基础语法
除了while循环语句外Python同样提供了for循环语句。 两者能完成的功能基本差不多但仍有一些区别
while循环的循环条件是自定义的自行控制循环条件for循环是一种”轮询”机制是对一批内容进行”逐个处理” for 临时变量 in 待处理数据集: 循环满足条件时执行的代码从待处理数据集中逐个取出数据 赋值给临时变量
# 定义字符串name
name itheima
# for循环处理字符串
for x in name:print(x)可以看出for循环是将字符串的内容依次取出 所以for循环也被称之为遍历循环
同while循环不同for循环是无法定义循环条件的。只能从被处理的数据集中依次取出内容进行处理。所以理论上讲Python的for循环无法构建无限循环被处理的数据集不可能无限大
练习案例数一数有几个a 定义字符串变量name内容为“itheima is a brand of itcast” 通过for循环遍历此字符串统计有多少个英文字母“a” 提示
计数可以在循环外定义一个整数类型变量用来做累加计数判断是否为字母a可以通过if语句结合比较运算符来完成
str itheima is a brand of itcast
count 0
for i in str:if i a:count 1
print(f{str}中有共含有{count}个字母a)1.2 range语句
for 临时变量 in 待处理数据集(可迭代对象): 循环满足条件时执行的代码语法中的待处理数据集严格来说称之为可迭代类型 可迭代类型指其内容可以一个个依次取出的一种类型包括
字符串列表元组等 目前我们只学习了字符串类型其余类型在后续章节会详细学习它们
range语句语法
#语法1
range(num)
#获取一个从0开始到num结束的数字序列不含num本身
#如range(5)取得的数据是[0, 1, 2, 3, 4]#语法2
range(num1,num2)
#获取一个从num1开始到num2结束的数字序列不含num2本身
#如range(5,10)取得的数据是[5,6,7,8,9]#语法3
range(num1,num2,step)
#获得一个从num1开始到num2结束的数字序列不含num2本身
#数字之间的步长以step为准step默认为1
#如range(5, 10, 2)取得的数据是[5, 7, 9]
例如for循环遍历range序列
# for循环处理字符串
for i in range(5): print(i)结果如下
练习案例有几个偶数 定义一个数字变量num内容随意并使用range()语句获取从1到num的序列使用for循环遍历它。在遍历的过程中统计有多少偶数出现 提示
序列可以使用range(1, num)得到偶数通过if来判断判断数字余2是否为0即可
num 100
count 0
for i in range(1,100):if i % 2 0:count1
print(f1到{num}不含{num}本身范围内有{count}个偶数)2.for循环的嵌套应用
同while一样for循环也支持嵌套使用 语法
for 临时变量 in 待处理数据集(序列):循环条件满足应做的事件1循环条件满足应做的事件2循环条件满足应做的事件N...for 临时变量 in 待处理数据集(序列):循环条件满足应做的事件1循环条件满足应做的事件2循环条件满足应做的事件N...我们目前学习了2个循环while循环和for循环。 这两类循环语句是可以相互嵌套的。
练习案例-for循环打印九九乘法表 通过for循环输出如下九九乘法表内容 提示
2层循环外层控制行内层控制列可使用range语句来得到数字序列进行for循环内层for循环的range最大范围取决于当前外层循环的数字
for i in range(1,10):for j in range(1,i1):print(f{j} * {i} {i*j}\t,end)print()三、循环中断 : break和continue
Python提供continue和break关键字
用以对循环进行临时跳过和直接结束
1.continue
continue关键字用于中断本次循环直接进入下一次循环 continue可以用于 for循环和while循环效果一致
continue关键字只可以控制它所在的循环临时中断 continue只能控制左图编号1的for循环 对编号2的for循环无影响
2.break
break关键字用于直接结束所在循环 break可以用于 for循环和while循环效果一致
break关键字同样只可以控制它所在的循环永久中断
reak只能控制左图编号1的循环 对编号2的循环无影响
四、 综合案例
练习案例发工资 某公司账户余额有1W元给20名员工发工资。
员工编号从1到20从编号1开始依次领取工资每人可领取1000元领工资时财务判断员工的绩效分1-10随机生成如果低于5不发工资换下一位如果工资发完了结束发工资。 提示continue用于跳过员工break直接结束发工资if判断余额不要忘记发完工资后余额减少1000哦
import random
money 10000 #总钱数
employee_num1 #员工编号for employee_num in range(1,21):performance random.randint(1, 10) # 绩效if performance 5:print(f员工{employee_num},绩效分{performance},低于5不发工资下一位)continueif money 0:print(工资发完了下个月领吧)breakmoney - 1000print(f向员工{employee_num}发放工资1000元账户余额还剩{money}元)