python中 while循环

本文深入探讨Python中while循环的基础语法及应用技巧,通过具体案例解析continue与break的作用,并设计了一个猜数字游戏来展示while循环在实际项目中的运用。

while循环

相比于for循环,while循环就显得简单很多了,先看一下定义格式:

while 条件:
	条件成立后需要执行的代码块..
	...

简单的案例,从1加到100:

i = 1
temp = 0
while i<= 100:
	temp += i
	i += 1
print(temp)

执行结果:

5050

while 循环只要条件成立就可以一直执行while下缩进的代码块,如果条件设置为 True 并且没有退出的条件, 程序便会陷入死循环,除非必要,否则我们应该避免程序陷入死循环....

有时候可能是没有办法判断判断循环的次数,比如玩游戏的时候需要判断玩家操作出错,或者血条没有血才判断游戏结束,退出循环

while循环还有两个非常重要的命令,continue 和 break。 continue用与跳过循环中的这次,循环本身不结束,只是跳过执行到continue的这一次循环,而break是直接退出循环。

continue:

i = 0
temp = 0

while i<100:
    i += 1
    if i == 50:
        continue  # 当i加到50的时候跳过 continue 后面所有的代码块,不在执行。进入下一次循环.
    temp += i

print(temp)

结果就是跳过加50的一次:

5000

break:

i = 0
temp = 0

while i < 100:
    i += 1
    if i == 51:
        break # 当i加到51的时候退出整个循环
    temp += i

print(temp)

结果就是从1加到50:

1275
来做一个猜数字的小游戏:
# -*- coding:gbk -*-
import sys
from random import randint  # 导入随机整数模块

print("*" * 60)
print("猜数字游戏v1.0".center(60))  # 让字符串居中在60个字符中
while True:
    randnum = input("请输入一个最大范围值:")
    randnum = randint(0,int(randnum))  # 随进产生一个从0到50之间的整数
    print("数字随机生成成功!")
    while True:

        guess_num_str = input("猜猜数字是多少?:")
        guess_num = int(guess_num_str)
        if guess_num > randnum:
            print("猜大了")
        elif guess_num < randnum:
            print("猜小了")
        elif guess_num == randnum:
            print("恭喜你,答对了!!!")
            quit = input("再来一局?(y/n):")
            if quit.lower() == "y":
                break  # 退出内层循环,执行外层循环
            elif quit.lower() == "n":
                sys.exit()  

执行效果:

************************************************************
                         猜数字游戏v1.0
请输入一个最大范围值:60
数字随机生成成功!
猜猜数字是多少?:30
猜小了
猜猜数字是多少?:45
猜大了
猜猜数字是多少?:40
猜大了
猜猜数字是多少?:35
猜小了
猜猜数字是多少?:38
恭喜你,答对了!!!
再来一局?(y/n):y
请输入一个最大范围值:70
数字随机生成成功!
猜猜数字是多少?:35
猜大了
猜猜数字是多少?:18
猜小了
猜猜数字是多少?:25
猜小了
猜猜数字是多少?:28
猜小了
猜猜数字是多少?:29
猜小了
猜猜数字是多少?:30
猜小了
猜猜数字是多少?:33
恭喜你,答对了!!!
再来一局?(y/n):n

D:\Program Files\excrsice>

Python 编程中,while 循环是用于重复执行一段代码,直到满足某个条件为止的控制结构[^1]。 ### 使用方法 while 循环的基本语法如下: ```python while 条件: # 循环体,满足条件时执行的代码 代码块 ``` 当条件为 True 时,循环体中的代码会被执行;执行完毕后,会再次检查条件,如果条件仍然为 True,则继续执行循环体,直到条件变为 False 时,循环结束。 ### 示例 #### 示例 1:输出 0 到 4 的数字 ```python count = 0 while count < 5: print(count) count = count + 1 print("循环结束啦,开始执行其他代码") ``` 此示例中,初始时 `count` 为 0,`count < 5` 条件为 True,进入循环体,打印 `count` 的值并将其加 1。每次循环结束后检查条件,直到 `count` 变为 5 时,`count < 5` 条件为 False,循环结束,执行后续代码。 #### 示例 2:用户交互输入 ```python while True: name = input('your name is:') print(name) ``` 这个示例中,`while True` 表示条件始终为真,会形成一个无限循环。程序会一直等待用户输入名字,每次输入后将其打印出来。因为条件永远为 True,所以如果没有额外的跳出机制,循环将一直执行下去。 #### 示例 3:以列表元素生成字典 ```python l1 = [0, 1, 2, 3, 4, 5, 6] l2 = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"] d1 = {} index = 0 while index < len(l1): d1[l1[index]] = l2[index] index = index + 1 print(d1) ``` 此示例中,使用 `while` 循环以 `l1` 列表中的元素为键,以 `l2` 列表中的元素为值生成字典 `d1`。通过 `index` 变量来遍历两个列表,每次循环将对应位置的元素添加到字典中,直到 `index` 等于 `l1` 的长度时,循环结束。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值