Python循环:while + for 简记 黑马课程

# lesson4: for 循环
"""
while循环 是自定义循环条件
for循环   是一种轮询机制,一批内容逐个处理
"""
"""
for 临时变量 in 待处理数据集:
    循环满足条件时,执行代码
"""
# example
str = "whoami"
for x in str:
    print(x)
"""
for循环无法定义循环条件,被动取出数据处理
循环语句 + 循环嵌套 == 注意缩进
"""


#lesson5: count(a)
print("====lesson5=====\t")
str = "weqeqa sd a qweqas re fsdfa"
count = 0
for i in str:
    if i == "a":
        count +=1
print(f"there are {count} a here.")


# lesson6: range
"""
range(num) 获取数字序列
从 0 开始 到 num, 不含num本身
range(3) = 0, 1, 2

range(num1, num2)
从num1开始 到 num2, 不含num2本身
range(1, 3) = 1, 2

range(num1, num2, step)
从num1开始 到 num2, 不含num2本身
step 默认值为 1
range(5, 10 ,2) == 5, 7, 9

range 锁定 for循环执行的次数
"""
for i in range(5):
    print(i)

for i in range(5, 10):
    print(i)

for i in range(5, 10, 2):
    print(i)

for i in range(3):
    print("love you")



# lesson7: for循环嵌套
"""
for 临时变量 in 待处理数据集(序列):
    执行任务1
    执行任务N
    ...
    for 临时变量 in 待处理数据集(序列):
        执行任务1
        执行任务N
        ...
"""
for i in range(1, 5):
    print(f"this is the {i} day")
    for j in range(1, 4):
        print(f"this is the {j} flower")

    print("love you")
print(f"{i} day , success\t")

# lesson8: 9*9 table + for
# 外层循环控制行数 == 1~9行
for i in range(1,10):
    # 内层循环控制每行数据
    for j in range(1, i + 1):
        # 内层循环中输出每行内容
        print(f"{j} * {i} = {j * i}\t", end=" ")
    # 外层循环通过print输出回车
    print()

print("======lesson9 循环控制========\t")
"""
continue
中断本次循环,直接进入下一次循环
for循环和while循环,效果一致
作用范围:跳过特殊情况 + 临时结束本次循环
for i in range(1, 10):
     print("语句1")
     continue           # 遇到 continue 结束当前循环,语句2不执行
     print("语句2")


break
直接结束循环
for循环和while循环,效果一致
for i in range(1, 10):
     print("语句1")
     break           # 遇到 break 结束当前循环,语句2不执行,直接执行语句3
     print("语句2")
print("语句3")
"""
# continue 例子
for i in range(1,6):
    print("11111111111111111111")
    continue
    print("22222222222222222222")

# continue在循环嵌套中作用
"""
continue 只能控制:他在循环临时中断
"""
for i in range(1,5):
    print("3333333333")
    for j in range(1,4):
        print("44444444444")
        continue                # 影响 j 循环
        print("55555555555555")
    print("66666666666")
print("77777777777")


# break example
for i in range(1,101):
    print("语句1-break")
    break
    print("语句2-break")
print("语句3-break")

"""
break 只能控制:他所在循环结束
"""
for i in range(1,6):
    print("break-5-555555555")
    for j in range(1,6):
        print("break-6-666666666666")
        break
        print("break-7-777777777777")
    print("break-8888888888888")
print("99999999999999999")

# lesson9: 案例
money = 10000
# 对20名发工资
for i in range(1,21):
    import random
    score = random.randint(1,10)

    if score < 5:
        print(f"员工{i}, 绩效分{score},不满足发工资,下一位")
        # continue 跳过发放
        continue

    # 判断余额
    if money >= 1000:
        money -= 1000
        print(f"员工{i},满足条件发放工资1000, 账户余额{money}")
    else:
        print(f"余额不足,当前余额{money}")
        break








# while
""""
while 条件:
    任务1
    任务2
    ...
"""
# example
i = 0
while i < 3:
    print("who am i?")
    i += 1
print("=========\n")

"""
条件是布尔类型结果 == True 继续,False 结束
while True 无限循环
需要循环终止条件
空格缩进和if判断一致
"""

# sum(1,3)
i = 1
sum = 0
while i <= 3:
    i += 1
    sum = sum + i
print(f"sum(1,3) = {sum}")


print("=====lesson3======\n")
# lesson3: print 不换行
"""
print("str", end="")
end 参数决定是否换行
"""
# end = " " 为不换行
print("hello", end=" ")
print("worlds", end=" ")
print("\n")

# \t == 制表符 == Tab键的功能
"""
多行字符串对齐
"""
print("hello world")
print("hello123 best123")

print("hello\tworld")
print("hello123\tbest123")

# 9*9 table == 注意
"""
控制行 i <= 9
控制每一行输出循环 j <= i
每一行的输出 j * i
"""
# 定义外层循环
i = 1
while i <= 9:
    # 定义内循环
    j = 1
    while j <= i:
        # 内循环不换行 + \t对齐 + end=""不换行
        print(f"{j} * {i} = {j * i}\t", end=" ")
        j += 1
    i += 1
    print() # 输出一个换行


# lesson2 : while 循环嵌套
print("=====lesson2======\n")
""""
while 条件1:
    任务1-1
    任务1-2
    while 条件2:
    任务2-1
    任务2-2
    ...
"""
i = 1
while i <= 3:
    print(f"today is the {i} day")
    j = 1
    # j 假如由0开始则有3个数字
    # 0 1 2 3 4
    while j <= 2:
        print(f"send you {j} flowers")
        j += 1
    print("you are the best")
    i += 1
# i = 4时候 == i的while循环停止
print(f"{i -1} day, success {i}")
"""
循环语句的嵌套,注意空格缩进 == 层次关系
避免无限循环
"""


# lesson1: while base use
print("=====lesson1=======\n")
# 猜数字
# 无限机会
# 提示大小
# 提示猜测了多少次

# 获取1~100数字
import random
num = random.randint(1,100)

#布尔变量 == 标记是否继续
flag = True
count = 0
while flag:
    guess_num = int(input("number ? "))
    count += 1
    if guess_num == num:
        print("right")
        # false == done the while
        flag = False
    else:
        if guess_num > num:
            print("big")
        else:
            print("small")
print(f"after {count} try, success")



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值