Python while循环实现猜字谜游戏_python用while循环猜数字

liftword4个月前 (02-18)技术文章29

python的while更多地应用于程序的一般性循环,而不是遍历迭代对象。与其他的计算机编程语言不同,python没有do...while这样的while循环。接下来,我们将详细介绍一下Python的while循环,并用寥寥数行代码开发一个小游戏,作为实例。

while循环

while循环需要一个启动循环和终止循环的条件判断,这二者通常为同一个,其一般形式为:

while condition:
    do something

while循环猜字小游戏

这里我们用寥寥数行python代码开发一个猜字小游戏,因为缩进比较多,建议大家使用jupyter notebook编辑器或其它自带缩进功能的集成开发环境IDE。

In[1]:md = int(input('请输入谜底:'))
start = 0
end = 100
inp = int(input('从%s到%s猜一个数字:' %(start, end)))
while start <= inp <= end:
    if inp < md:
        start = inp
        inp = int(input('从%s到%s猜一个数字:' %(start,end)))
    elif inp > md:
        end = inp
        inp = int(input('从%s到%s猜一个数字:' %(start,end)))  
    else:
        print('恭喜你中奖了')
        break
————————————————————————————————
请输入谜底:66
从0到100猜一个数字:88
从0到88猜一个数字:22
从22到88猜一个数字:33
从33到88猜一个数字:68
从33到68猜一个数字:55
从55到68猜一个数字:66
恭喜你中奖了

示例解析

上面的实例是非常典型的while和break的联合应用。

1、intput()函数前面为什么要加一个Int()函数呢,因为input()所获取的输入值都是str字符串类型的数据,必须将其进行类型转换,否则无法进行小于大于等于之类的比较运算。

2、intput()函数用于获取输入值,这个函数的前面为什么要加一个Int()函数呢,因为input()所获取的输入值都是str字符串类型的数据,必须将其进行类型转换,否则无法进行小于大于等于之类的比较运算。

3、上面实例中的代码按照从上到下的顺序执行,先给游戏设定所要猜测的数字范围,分别用start和end两个变量表示,这个时候还不是限定范围,只是两个变量而已,但程序执行到了while的时候,开始根据start <= inp <= end这个条件进入循环,这个时候,start和end才变成游戏意义上的限定范围。

4、因为我们的游戏需要限定的范围是越来越小的,如上面的游戏中,我们第一次猜了88,大于谜底的66,则限定范围变成0到88,第二次猜猜测的数字为22,小于谜底的66,则限定范围变成22到88,以此类推。所以,在while的循环之中,我们要确保两个方面的功能能够完成,一是限定范围不断变化,二是限定范围变化的同时不影响到while循环的条件,所以,我们需要对start变量和end变量在循环之中不断根据输入值进行赋值,如start=inp,end=inp。

5、当我们猜到了谜底,while循环就结束,这里我们并不是根据条件判断来终止循环,而是用break。

游戏代码优化

我们还可以将上面的小游戏进行优化一下,就是将谜底用随机数,而不是用认为输入的方式。

In[1] import random #导入随机数的库
md = random.randint(0,100) #在0到100之间取一个随机的整数
... #下面的代码一样
————————————————————————————————
从0到100猜一个数字:66
从0到66猜一个数字:22
从0到22猜一个数字:10
从10到22猜一个数字:11
从11到22猜一个数字:15
从15到22猜一个数字:17
从17到22猜一个数字:18
恭喜你中奖了

注意:这个游戏中有一个bug,大家知道是什么吗?就是当我们输入的数字在数字的限定范围之外的话,程序会终止。那要怎么改呢?大家可以自己去尝试一下。很简单。

来源笨鸟工具-璞玉天成,大器晚成

原文python的while循环,游戏实例 | python教程

免责声明:内容仅供参考,不保证正确性!

相关文章

简单学Python——关键字17——while

while是Python中的关键字,用作循环。while循环是一种在满足特定条件的情况下重复执行一段代码的控制结构。语法:while 条件:(缩进)要执行的代码下面用while循环从1打印到10:a=...

收藏 | Python小技巧之while循环_python3 while循环语句

CDA数据分析师 出品作者:CDA明星讲师 曹鑫编辑:MikaPython 之 while 循环大家好,今天我们来讲讲 while 循环。while 循环真的很有用,我这里写了一个方法叫while T...

一文讲解Python教程:while循环语句

while循环语句,与条件控制语句搭配使用,当满足一定条件时,重复执行对应的循环体代码逻辑,否则跳出循环。1、语法格式:# 注意句末的冒号 while 循环判断条件: # 注意循环体缩进 循环...

Python循环语句代码详解:while、for、break

导读:循环语句是指重复执行同一段代码块,通常用于遍历集合或者累加计算。Python中的循环语句有while语句、for语句。作者:黄传禄 张克强 赵越来源:华章科技01 while循环循环语句是程序设...

Python教程:第15篇 while 循环语句

上一篇介绍了for 有限循环语句,本文介绍while无限循环语句。while的使用格式while语句可以执行无限循环。虽然while语句是判断与循环的结合体,但相对于for语句,while的用法看起来...

年近半百自学Python之while循环结构练习

例1.超市购物案例:#去超市买东西,单价和数量,允许买多件商品#计算总额 floattotal=0 #初始变量赋值要放在循环体外。number=0while True: #当不知道循环次数时,可考虑用...