文章为原创,作者为 Christal K
前言
if 、while 、for 循环
一、if 、while 、for 循环练习?
代码如下:
#!/usr/bin/env python
# coding=utf-8
# @FileName :while.py
# @Time :2022/12/2 21:21
# @Author :Christal K
if __name__ == "__main__":
run_code = 0
# 1-100的和
i = 1
sum = 0
while i <= 100:
sum += i
i += 1
print(sum)
# while循环,无限次机会,提示第几次猜测,提示猜大和猜小
# ? 不知道最后怎么输出 猜对了语句 ---在while循环结束后,输出该语句,才会执行
import random
num = random.randint(1,10)
i = 1
guess_num = int(input("请输入猜测的数字"))
while guess_num != num:
i += 1
if guess_num - num > 0:
print("猜错了,您输入的数字大了")
else:
print("猜错了,您输入数字小了")
guess_num = int(input(f"请输入第{i}猜测的数字"))
print(f"恭喜您在第{i}次猜对了,数字是{num}")
# while循环 嵌套 while循环
# 距离毕业多少天,每天学习多少小时?
day = 1
while day < 10: # 满足条件时进入循环,不满足跳出
print(f"今天是{day}天")
import random
study_time = random.randint(1, 10)
i = 0
while study_time < 10:
study_time +=1
i += 1
print (f"今天学习了{i}小时")
day +=1
print("--------------")
print("每天都要努力呀")
# 使用print语句输出不换行
print("great boy",end ="")
print(" miss you",end = "")
print("------------")
# 使用 \t
print("great boy")
print("nice gril")
print("great\tboy")
print("nice\tgril")
# 使用while循环输出九九乘法表
row = 1 #行
while row <= 9:
column = 1 # 列
while column <= row:
print(f"\t{row}*{column}={row * column}",end ="")
column += 1
row += 1
print("\t")
print('\r ................')
# 空格在哪影响输出?
row = 1 #行
while row <= 10:
print("\t")
column = 1 # 列
while column <= row:
print(f"\t{row}*{column}={row * column}",end ="")
column += 1
row += 1
print('\r -------------------')
# for循环 :轮询机制,一个个处理(依次取出),无法定义循环条件,无法构建无限循环
# 遍历字符串
name = "inkatha"
for x in name:
print(x)
print('\r -------------------')
name = "i love male mother"
count = 0
for x in name:
if x == "e":
count +=1
print(f"{count}")
# range语句三个用法
for x in range(10):
print (x,end = " ")
print(' -------------------')
for x in range(1,10):
print (x,end = " ")
print(' -------------------')
for x in range(1,10,2):
print (x,end = " ")
print(' -------------------')
# 使用for循环遍寻range序列,确定有几个偶数
num = int(input("请输入一个数字"))
count = 0
for x in range(1,num):
if x % 2 == 0:
count += 1
print(f"{count}")
# for循环的变量作用域
# 变量的定义在循环内和循环外,有明显区别,应注意
for i in range(1,5):
print(i)
print(' -------------------')
print(i) # i变量变黄,说明i是临时变量,并不那么规范,但是可以使用
print(' -------------------')
t =0
for t in range(1,5):
print(t)
print(' -------------------')
print(t)
print(' -------------------')
# for 嵌套循环
# 距离毕业多少天,每天学习多少小时?
for i in range(1,10):
print(f"今天是{i}天")
for study_time in range(1,5):
print (f"今天学习了{study_time}小时",end ="")
print("--------------")
print("每天都要努力呀")
# 使用for循环输出九九乘法表
# 注意 i 和 j 哪个是内?哪个是外
for i in range(1,10):
for j in range(1,10):
if i >= j:
print(f"\t{j}*{i}={i*j}",end="")
print("\t")
# for循环九九乘法表 示例
for i in range(1,10):
for j in range(1,i+1):
print(f"\t{j}*{i}={i * j}", end="")
print()
# continue 中断本次循环,直接进入下一次,for 和 while 作用一致
# break 直接中断所有循环
# 对于嵌套,只管当前循环内
for i in range(1,10):
if i == 5:
continue
print(f"{i}")
print("---------------------")
for i in range(1,10):
if i == 5:
break
print(f"{i}")
# 使用for,if 和 while 循环
# 先找打断和终止部分,从这部分设立条件
money = 15238
for num in range(1,31):
import random
performance = random.randint(1,10)
if performance < 5:
print(f"\t员工{num}号,绩效分数{performance}不足,不发奖金")
continue
if money >= 998:
money -= 998
print(f"\t员工{num}号,绩效分数{performance},发放奖金998元,当前账户余额{money}元")
else:
print(f"\t当前账户余额{money}元,奖金下次再发")
break
print("",end ="")
print("======================")
# 课堂答案
money = 15233
count = 0
for num in range(1,31):
import random
performance = random.randint(1,10)
if performance < 5:
print(f"\t员工{num}号,绩效分数{performance}不足,不发工资")
continue
if money >= 986:
money -= 986
print(f"\t员工{num}号,绩效分数{performance},发放工资986元,公司账户余额剩余{money}元")
else:
print(f"\t余额不足,当前余额:{money}元,无法继续发放工资")
break
print("",end ="")
print("======================")
# 自己写的另外一种
money = 15238
for num in range(1,31):
import random
performance = random.randint(1,10)
if performance >= 5:
money -= 998
print(f"\t员工{num}号,绩效分数{performance}超额,发奖金998,当前账户余额{money}元")
continue
if money < 998:
print(f"当前余额不足:{money}元,余额不足")
break
else:
print(f"\t员工{num}号,绩效分数{performance}不足,不发奖金,当前账户余额{money}元")
print("",end ="")
print("======================")
总结
if 、while 、for 循环,这三个循环还是比较好玩的