python跳出while循环_【Python】:初识while循环

对于编程基础为零或者较为薄弱的初学者来说,自学Python时遇到的第一个难点可能就是while循环了。

当我第一次遇到这个难点的时候,我选择的方式是通过一些小练习,并且仔细思考练习中的每一个细节来加深对While循环的理解。

以下是Crossin先生Python编程教室关于While循环一个猜数字小练习的代码,基于自己的理解我对小练习的很多行代码都作了注释:

下面我将逐行解释小练习中的每一行代码(运行环境macOS Sierra,采用的IDE是PyCharm,如有错误敬请指正)。

第1行:

# -- coding: utf-8 --

首先看没有这行代码的情况下,Python报错:SyntaxError: Non-ASCII character '\xe6' in file /Users/CY/PycharmProjects/Analysis/whiletest.py on line 3, but no encoding declared; see PEP 263 -- Defining Python Source Code Encodings for details

原因是从第3行开始的注释符号后面,我用了中文,但默认情况下你的程序需要使用ASCII码来写,但如果在其中写中文的话,Python解释器一般会报错。加入上面这行代码之后,说明下面的Python代码使用的编码类型改为UTF-8的类型(因为UTF-8编码支持中文)。关于编码类型涉及到的其他内容比较复杂,希望自己深入学习之后能详细了解。

第3行:

from random import randint

random表示随机数模块,randint表示随机整数的方法;其中,randint = random(随机) + integer(整数),由随机random的前四个字母rand与整数integer的前三个字母int组合而成。

整个代码的含义是“从(from)随机数(random)模块中引入(import)随机整数(randint)的方法”。从Python代码英文本身的含义上去思考,会非常有助于记忆和理解。

第4行:

num = randint(1,10)

给变量num赋值,根据第2行的代码可知是从”1到10“这十个随机的整数。

第6行:

print 'Guess?'

在屏幕上输出”Guess?“

第7行:

w1 = False

给变量w1赋值为False,为了下面的while循环代码进行判断。变量的名称和赋值可以随意设置。

举个例子,这里也可以把代码为写成”x = 1“、”y = True“等等。如果这里不太明白,请继续往下看。

第9行、第10行:

while w1 == False:

answer = input()

while在英文中的解释是“当…的时候”,所以当代码执行到while时,程序需要进行一个条件判断,即“当”while的条件成立——为True时,运行while内部的代码,“当”while的条件不成立——为False时,跳过内部代码——即不运行while内部的代码。

练习中的条件是”w1 == False“,意思是w1恒等于False,而刚刚在第7行中给w1赋值为False,所以while的条件”w1 == False“成立,即False恒等于False是成立的,所以可以执行while内部的代码。因此,我把变量w1理解为判断变量,即为了进行判断而设置(赋值)的变量。

前面第7行给变量的赋值,是为了能够给下面的while循环进行条件判断,并且确保这个条件判断成立(为真),即判断后的值为”True“。按照上面第7行的例子,相应这里可以写成”x == 1“、”y == True“。

如何判断哪些代码是while内部的代码?在Python语言中,答案是看代码的缩进,即用”4个空格“或者”按一下tab“(切记不可混用,否则系统无法判断,将出现各种错误,大部分的IDE都可以帮助开发者自动缩进),有缩进的代码都是while内部的代码。

在这个小练习中,从”answer = input()“之后的所有代码,相对应while的位置都有缩进,所以都是while内部的代码。

第10行的代码表示变量answer需要用户自己输入(input)来进行赋值,即人向程序”输入信息“,最简单的人机交互。

第12行、第13行:

if answer < num:

print 'too small!'

if条件判断,如果answer小于num,输出”too small!"

第15行、第16行:

if answer > num:

print 'too big!'

if条件判断,如果answer大于num,输出”too big!"

第18行、第19行:

if answer == num:

print 'Great!'

if条件判断,如果answer等于num,输出”Great!"

第20行:

w1 = True

细心的人可能发现了,最后这一行代码是属于if条件“answer == num”内部的代码,并且重新给前面while循环的判断变量w1进行了赋值。因为之前的w1为False,当给w1赋值为True时,while的判断条件”w1 == False“就不成立了,所以这时while循环就结束了。并且因为这行代码属于if条件”answer == num“内部,就是说当用户猜出来数字的时候,整个程序就自动结束了,如下图:

如果删除这一行代码,那么这个猜数字的小游戏就可以永远不停止地一直玩下去,如下图:

哦,对了,如果按照上面第7行的例子,可以把第20行写成”x = 2“、”y = False“来跳出while循环。

其实没事做的时候,多敲敲代码玩也是挺有意思的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这是一个 Python 的 while 循环,用于遍历一个列表 number_list 中的元素。i 是一个计数器变量,初始值为 0。循环条件是 i 小于 number_list 的长度,也就是说当 i 大于等于 len(number_list) 时,循环就会停止。在循环体中,我们可以对列表中的每个元素进行操作,比如打印出来或者对其进行计算等。 ### 回答2: 该行代码是使用Python语言中的while循环来解析一个条件语句。 在解析该代码时,我们需要了解其中的一些关键概念。首先,while循环是一种迭代结构,它会反复执行一组语句,直到条件为False为止。其次,len()是Python中的一个内置函数,用于返回一个对象的长度或元素个数。最后,number_list是一个列表对象,它包含一系列的数字元素。 在解析该代码时,首先会计算len(number_list)的值,即number_list列表的长度或元素个数。然后,会判断变量i是否小于该长度值。如果条件为True,则说明i小于列表长度,循环会继续执行。接下来,循环体中的指令将被执行。当循环体中的指令执行完毕后,会再次判断条件是否为True。如果为True,则继续执行循环体中的指令,直到条件为False,即i不再小于列表的长度为止。 该行代码的作用是通过循环来遍历number_list列表中的元素,从而实现对列表中每个元素的访问和操作。具体的循环体中的指令可以根据实际需求进行编写,可以是对列表元素进行处理、判断或其他操作。 ### 回答3: 在Python中,`while i < len(number_list)` 是一个循环语句,它的作用是在满足条件`i < len(number_list)`时执行循环体中的代码。 解析这个语句的意思: - `i` 是一个循环控制变量,它用来追踪循环执行的次数或者位置。 - `number_list` 是一个列表,`len(number_list)` 是这个列表中元素的个数。 - `i < len(number_list)` 是一个比较语句,它判断`i` 是否小于 `number_list` 的长度。 - 如果条件满足,也就是 `i` 小于 `number_list` 的长度,那么会执行循环体中的代码。 - 当循环体中的代码执行完毕后,会再次判断条件是否满足,如果满足则继续执行循环体中的代码,直到条件不满足为止。 这个语句通常用于对列表或者其他可迭代对象进行循环遍历。通过逐个访问列表中的元素,我们可以执行一些操作,例如打印每个元素、计算总和、查找特定元素等等。在循环体内部需要更新`i` 的值,以便在每次迭代中访问不同的元素。 示例代码: ``` number_list = [1, 2, 3, 4, 5] i = 0 while i < len(number_list): print(number_list[i]) i += 1 ``` 这段代码会依次打印出`number_list` 中的每个元素。在每次循环迭代中,`i` 的值会自增1,直到`i` 大于等于 `len(number_list)` 时循环终止。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值