python学习第四天 ————循环

hello everyone 今天我得连更两篇啦 因为最近很忙 拖了好久一致没有更新内容 话不多说 进行今天的内容学习

python学习第四天 ————循环

其实在python中的循环也就是连个 一个是while循环 一个就是for循环 接下来我们来一个一个的征服它们
**

while循环

**
这里大家需要先明白什么是循环 大家去学校里看看 学校的操场 是不是个圈 这不经的让我想去了那首民间小调“毛驴儿啊 你走不出那个圈” 哈哈哈 不说笑了 操场的那个跑道是不是一个范围约束啊 你跑圈只能在圈子的范围里跑 而且是一圈一圈的跑啊 这是不是 一个循环啊 什么时候你没有劲儿了 就退出循环 不跑了 这里的循环和我要讲的那个循环是一个道理

格式:
whlie 条件:
	条件成立时 要循环执行的代码
	条件成立时 要循环执行的代码
	·······

想要构建循环 需要三个必备的条件

whlie 构建循环的必备关键字  ----操场的场地 
循环条件  满足条件执行循环体代码   --- 操场的跑道的大小
循环体   需要执行的代码     -------去操场跑道上跑的人 

这里要和大家讲一下 循环变量不是必备条件,一般来说,我们会创建一个循环变量去控制循环的次数 但是 没有循环变量也是可以滴 我们还可以通过其他的形式去进行循环跳出(时间,请求,数学计算)
上面的话太啰嗦 我自己打上去的 我自己也他娘的看不懂 总的来说:循环变量是小三 不重要 视情况而定 可有可无
如果使用循环变量进行循环的跳出 记得 要进行变量自增 不然会 进入死循环的状态
还有一点就是 死循环不是BUG 只是程序在无休止的执行 你不管也行 只要你不怕你电脑冒烟 你可以一直执行

给大家一个例子 方便大家去理解

# 这是一个生活常见的现象 给老婆道歉  输出100遍‘老婆我错了’
i = 0   #i的作用就是  控制循环次数   也是循环结束的条件
while i < 100: #关键字 循环条件
    print('老婆 我错啦')
    print('你错哪了?')  # 条件成立循环的内容
    print('我错在...')  # 条件成立循环的内容
    print('你根本不知道你错在哪了')  # 条件成立循环的内容

    i += 1  #千万不要忘了循环条件自增  要不你会后悔的

print('老娘累啦 原谅你了')

这是一个比较常见的现象 以后学习的深入 以后可以和大家要其写一个道歉的脚本 不原谅就烦死她 哈哈哈

下面再来一个案例 来点儿分析

#计算1 - 100 的累加和
'''
分析:
从哪里开始 1
循环到哪里结束 100
要干什么   1- 100 的累加和  这不就是循环体嘛
每次循环递增多少 1
'''
# 从哪里开始 1
i = 1
sum1 = 0  #这里设置一个变量用来接收相加的结果
# 循环到哪里结束 100
while i <= 100:
    # 要干什么1 - 100的累加和这不就是循环体嘛
    sum1 = sum1 + i
    # 每次循环递增多少1
    i += 1

print(f'1到100相加的和为{
      
      sum1}')

这一波需求分析可够详细的啦啊 好好看 好好学

再给你加个菜

#需求 计算10以内的奇数
#10以内的奇数 我想大家用脚指头都能想出来 1,3,5,7,9 但是怎么使用代码把他们给弄出来呢?
# 从哪里开始0  记住 在计算机的世界里 0才是头儿啊
i = 0  #控制循环结束的

while i <= 10:
    if i % 2 != 0:
        print(f'10以内的奇数为{
      
      i}')

    i += 1
print('循环结束')

这个是 多了一个if 与前面结合一下 不懂得 看我之前的文章 融汇贯通一下 这都是和我之前发的文章 有关系的

**

这里给你们弄一个题 需求 计算1-100以内的偶数的累加和

**
答案我也给你写出来吧 放在云盘啥的 你们弄起来比较麻烦 建议你们先不要看 去做一做 再看我的 没准儿你们做的更好呢

#需求 计算1-100以内的偶数的累加和
i = 1
sum1 = 0

while i <= 100:
    if i % 2 == 0:
        sum1 += i
    i += 1

print(f'1到100的偶数累加和为:{
      
      sum1}')

这里我就不给大家做注解啦 对照这前面的去看 理解一下 提高自己看代码的能力 这个很重要

下一节

循环关键字 break 和 continue

提到循环 这两个关键字 break continue 它们是干什么的呢? 它们是控制循环结束的(跳出循环) 转而言之 它们必须 也只能用在循环中
break 跳出当前循环
continue 结束本次循环 转而执行下一次循环

我们先说说 break

#break 终止当前循环
#需求 一共5个苹果 吃到第3个苹果的时候吃饱了 不吃了
#从哪里开始
i = 1
# 到哪里结束
while i <= 5:
    if i == 3:
        print('我吃饱了,不吃了')
        break
    i += 1

怎么样看了这个代码是不是很有感觉了啊
我们继续

# 我们要跑步 打算跑10圈  跑完第二圈  累了  我不跑了 明天再说

i = 1

while i <= 10:
    print(f'我跑了{
      
      i}圈')
    if i == 2:
        print('累了 不跑了')
        break
    i += 1

print('明天继续')

如果你能把这个看懂 那你对break的理解也就很到位了

接下来 我们来看countinue
continue 结束本次循环 进入下一次循环
当前本次循环执行到 continue 后面的代码就不执行了 转而去执行下一轮的循环
举个栗子:

i = 1
while i <= 5:
    print(f'我吃了{
      
      i}个苹果')
    if i == 3:
        print('吃到了虫子 吃下一个')
        i += 1
        continue
    i += 1

print('苹果真好吃')

怎么样 是不是和break 有点儿区别

截止到这里 我们的while循环也就结束了 大家肯定还是有很多的疑问 这都不重要 我要说的是 大家去学习python 是为了找份工作 没有必要去纠结 你只要会用就好了 python这门语言它只是一门工具 你只要回去用 就可以了

这里我们去说一下死循环
死循环 不是BUG
他只是在无尽的循环当中 挑不出来 没有跳出的条件 在真实的业务场景中 死循环运用的也很多 下面我们就用 死循环把 我上一篇if语句中的 猜拳游戏小案例 改进一下
在上一篇文章中的猜拳游戏 如果有网友运行过我那个代码的 应该知道 它只能运行一下 玩一次 很不方便 这里我们来做一下改进

#第一步导入随机数模块
import random
# 改进:可以无限进行猜拳,直到一方获得3分,结束游戏,并宣布获胜方
#设置双方的初始分数
player_score = 0
computer_score = 0
#开启无限猜拳模式
while True:
    #这里电脑会随机生成3个数 0 1 2 中的一个数
    computer = random.randint(0,2)
    #第二步 让玩家通过控制台输入剪刀石头布
    player = int(input('请输入您要出的拳型(石头 = 0,剪刀 = 1 布 = 2): '))
    #第三布判断输赢
    #我这里直接先把玩家赢得情况拿出来
    if (computer == 0 and player == 2) or (computer == 1 and player == 0) or (computer == 2 and player == 1):
        # 玩家分数+1
        player_score += 1
        print('玩家获胜')

    #这里除了输赢还有平局的情况
    elif computer == player:
        print('平局')
    else:
        # 电脑分数+1
        computer_score += 1
        print('电脑获胜')

    #显示双方的分数
    print(player_score,computer_score)

    #判断分数是否到达退出死循环的条件
    if computer_score == 3 or player_score == 3:
        #判断胜出方
        #这是三目运算符  不知道的去看上一篇文章
        name = '玩家' if player_score == 3 else '电脑'
        print(f'{
      
      name}获得了胜利')

        #结束循环
        break


代码是不是很多 其实也没什么东西
不要着急说你现在就要写出来 先去理解 我写这么多代码的例子 是为了让大家先去理解 先知道他是怎么用的 怎么去执行的!!!

还有一个 就是循环嵌套
循环里面套循环

#又到了 代码最烂的一部分啦 while嵌套 写九九乘法表
# 从1*1=1开始的
i = 1
while i < 10:
    # 第二1
    j = 1
    while j <= i:
        print(f'{
      
      j} * {
      
      i} = {
      
      i * j}\t',end="")
        j += 1
    #换行
    print('')
    i += 1
#输出换行
print('')

感受一下 嵌套的强大‘’

我们来把之前写的 跑圈案例 再进行升级改造

#需求:在操场跑圈,跑15圈,每次跑3全,休息10分钟
# 分析 : 跑圈,每次跑三圈,循环三次,同时三次跑完要休息10分钟三圈加一个循环要执行5次
# 从哪开始
i = 1
# 到哪结束
while i<= 5:
    # 从哪开始
    j = 1
    # 到哪结束
    while j <= 3:
        # 做什么
        if j == 3:
            print(f'我跑了{
      
      j}圈')
            break
        j += 1
    print('我累了,休息10分钟')
    i+= 1

print('我跑完了')

截止到这里 我们今天的学习 也就结束啦 下次再见

Guess you like

Origin blog.csdn.net/qq_59472803/article/details/118967105