第四章
1.while基础
要点:条件和操作,只要条件满足,无限循环,需要设置循环终止条件
课后作业代码:
1-100求和
num = 1
sum = 0
while num <= 100:
sum += num
num = num + 1
print(sum)
猜数字
import random
num = random.randint(1,100)
guess_num = int(input("请输入猜想的数字:"))
i = 1
while guess_num != num:
i = i + 1
if guess_num > num:
print("猜大了")
else:
print("猜小了")
guess_num = int(input("请输入猜想的数字:"))
print(f"一共猜了{i}次")
嵌套应用:
九九乘法口诀表:
i = 1
j = 1
while i <= 9:
j=1
while j <= i:
print(f"{j}*{i}={i*j}\t",end="")
j = j + 1
print() //换行
i = i + 1
2.for循环-----无法构建无限循环
2.1轮巡机制
实例:
name = "itheima"
for x in name:
print(x)
//将name里面的每个单独取出来,并进行输出
课后作业:
name = "itheima is a brand of itcast"
i = 0
for x in name:
if x == 'a':
i = i + 1
print(f"itheima is a brand of itcast中共含有:{i}个字母a")
2.2 range
语法:
range(num):从0开始不包含num的数字序列
range(num1,num2):从num1开始不包含num2的数字序列,步长为1
range(num1,num2,step):从num1开始不包含num2的数字序列,步长为step
实例理解:
for x in range(10):
print(x)
for x in range(5, 10):
print(x)
for x in range(5, 10, 2):
print(x)
课后作业:
import random
num = random.randint(1,100)
i = 0
for x in range(1, num):
if(x % 2 == 0):
i = i + 1
print(f"1到{num}(不包含{num}本身)范围内,有{i}个偶数。")
2.3 变量作用域
for i in range(5):
print(i)
print(i)
#编程规范上,作用范围只限定在for循环内
可以运行,但是不建议这么做
想要在外部使用,只需要在循环前进行定义即可
2.4 for循环嵌套使用
实例理解:
#坚持表白100天
t = 0
for i in range(1,101):
print(f"今天是表白的第{i}天,加油坚持")
for x in range(1,11):
print(f"给小美送的第{x}朵玫瑰花")
print("小美我喜欢你")
t = t + 1
print(f"第{t}天表白成功")
九九乘法口诀表:
for i in range(1,10):
for x in range(1,i+1):
print(f"{x}*{i}={x*i}\t",end="")
print()
3.continue和break
continue:中断本次循环,直接进入下一次循环---临时中断
代码理解:
for i in range(1,10):
for x in range(1,i+1):
print(f"{x}*{i}={x*i}\t",end="")
print()
嵌套版:
for i in range(1, 6):
print("语句1")
for j in range(1, 6):
print("语句2")
continue
print("语句3")
break:直接结束本次循环整体-----永久中断
for i in range(1, 6):
print("语句1")
break
print("语句2")
print("语句3")
4.总结--综合案例
import random
sum = 10000
for i in range(1, 21):
j = random.randint(1, 10)
if(j < 5):
print(f"员工{i},绩效分{j},低于5,不发工资,下一位。")
else:
if sum <= 0:
print("工资发完了,下个月领取吧。")
break
else:
sum -= 1000
print(f"向员工{i}发放工资1000元,账户余额还剩{sum}元")
包含continue版本:
import random
sum = 10000
for i in range(1, 21):
j = random.randint(1, 10)
if(j < 5):
print(f"员工{i},绩效分{j},低于5,不发工资,下一位。")
continue
if sum <= 0:
print("工资发完了,下个月再领取。")
break
else:
sum -= 1000
print(f"向员工{i}发放工资1000元,账户余额还剩{sum}元")