LOADING...

加载过慢请开启缓存(浏览器默认开启)

loading

Python学习日记Ⅰ-3

2023/3/3 2023/3/3 python python

1.while循环

i=0
while i<100:
    print("lanyou I like you")
    i+=1
# 练习案例,求1+·····+100的和
i=0
sum=0
while i<=100:
    sum+=i
    i+=1
print(sum)    

2.while猜数字案例

# 无限次猜测,直到猜中为止
# 每一次猜不中,会提示大了或者小了
# 猜玩数字后,提示猜了几次
import random
num=random.randint(1,100)
a=True
i=0
while a:
    gress=int(input("猜数字(1-100):"))    
    i+=1
    if gress==num:
        a=False
        print(f"恭喜猜中了,你猜了{i}次")
    elif gress>num:
        print("猜大了,再猜一次吧")
    else:
        print("猜小了,再猜一次吧")         

3.while循环嵌套

# 每天向蓝幽表白,并且送3朵玫瑰花,累计表白100天成功
i=0
while i<=100:
    print(f"今天是第{i}天表白")
    j=1
    while j<=3:
        print(f"这是今天送的第{j}朵玫瑰花")
        j+=1
    i+=1
    print("蓝幽,I like you")
print(f"今天是第{i-1}天表白,终于表白成功了")        

4.while循环嵌套案例

# while循环嵌套打印九九乘法表
i=1
while i<10:
    j=1
    while j<=i:
        sum=i*j
        print(f"{i}*{j}={i*j}\t",end="")
        j+=1
    i+=1
    print() # 换行输出

5.for循环基础语法

# x为临时变量,这个语句意思是将name中的字符逐个赋予给x打印出来
# for循环注意点:1.无法定义循环条件,只能被动取出数据处理 2.循环内的语句,需要有空格缩进
name="lanyou"
for x in name:
    print(x)

6.for循环案例

#定义字符串变量name,內容为:oritheima is a brand of itcast"
# 通过for循环,遍历此字符串 lanyoushigeaixuederen,统计有多少个英文字母:"a"
"""
提示:
1. 计数可以在循环外定义一个整数类型变量用来做累加计数
2.判断是否为字母"a",可以通过计语句结合比较运算符来完成
"""
name="lanyoushigeaixuederen"
i=0
for x in name:
    if x=="a":
        i+=1
print(f"{name}里面有{i}个a")

7.range语法

# range是一个序列
a=range(5)
print(a)
for x in a:
    print(x,)
a=range(5,10)
print(a)
for x in a:
    print(x,)
a=range(5,10,2)
print(a)
for x in a:
    print(x,)# 5,7,9 2为步长

8.range使用案例

# 有几个偶数
# 定义一个数字变量num,内容随意并使用range()语句,
# 获取从1到num的序列,使用for循环遍历它。在遍历的过程中,统计有多少偶数出现
"""
提示:
1.序列可以使用:range(1, num)得到
2. 偶数通过计来判断,判断数字余2是否为0即可
"""
num=int(input("输入一个最大数,必须大于1"))
i=0
for x in range(1,num):
    if x%2==0:
        i+=1
print(f"有{i}个偶数")
#关于x的作用域问题,本来x的作用域应只在for循环内,但是在python中在域外也能访问到x,这是不符合规范的,
#如果想用临时变量x,最好在for循环前面定义一个x就像
x=0
for x in range(5):
    print(x)
print(x)    

9.for循环的嵌套使用

# 给蓝幽送玫瑰花,每天送10朵,并送一百天,最后表白成功
i=0
for i in range(1,101):
    print(f"今天是我的第{i}天表白,我喜欢你蓝幽")
    for j in range(1,11):
        print(f"这是今天我送的第{j}朵玫瑰花")
print(f"今天是第{i}天,蓝幽答应我了")    

10.for循环嵌套九九乘法表

# 九九乘法表
i=1
for i in range(1,10):
    j=1
    for j in range(1,i+1):
        print(f"{i}*{j}={i*j}\t",end="")
        j+=1
        
    i+=1
    print()    

11.continue和break的使用

"""
1.continue的作用是:
中断所在循环的当次执行,直接进入下一次
2.break的作用是:
直接结束所在的循环
3. 注意事项:
continue和break,在for和while循环中作用一致
在嵌套循环中,只能作用在所在的循环上,无法对上层循环
"""
for i in range(3):
    print("qqqq")
    for j in range(3):
        print("www")  #会循环三次www
        continue
        print("eeeee")
    print("rrrrr")    
 
for i in range(3):
    print("qqqq")
    for j in range(3):
        print("www") # 只会循环一次www
        break
        print("eeeee")
    print("rrrrr") 
    

12.循环综合案例

# 发工资
"""
某公司,账户余额有1W元,给20名员工发工资。
园工编号从1到20 从编号1开始,依次领取工资,每人可领取1000元
领工资时,财务判断员工的绩效分(1-10)(随机生成),如果低于5,不发工资,换下一位
如果工资发完了,结束发工资。
"""
"""
提示:
使用循环对员工依次发放工资
continue用于跳过员工,break直接结束发工资
随机数可以用:
"""
import random

b=10000
i=1
for i in range(20):
    a=random.randint(1,10)
    if a<5:      
        print(f"员工{i},绩效分{a},低于5,不发工资,下一位")
        continue
    elif b==0:
        print(f"员工{i},余额为0,没有工资了") 
        break   
    else:
        b-=1000
        print(f"员工{i},绩效分{a},向员工{i}发放工资1000元,账户余额还有{b}")    
        
showimg