用python续写猜数字游戏(加入循环)

作者:烟中隐约闪现 | 创建时间: 2023-04-08
在《用python制作一个简单的猜数字游戏》里面,我们学习了用if语句制作简单的猜数字游戏,但是这个猜数字游戏只能猜一次,不连续。 下面,我们引进循环语句,把这个游戏完善一下。...
用python续写猜数字游戏(加入循环)

操作方法

先把上一篇文章里面的猜数字游戏的代码搬过来: # -*- coding: utf-8 -*- import random a=random.randint(1,100) n=input('请输入数字') if n.isdigit(): n=int(n) if n==a: print('猜对了') elif n>a: print('大了') else: print('小了') else: print('你输入的不是整数') 这里面有两个嵌套的if语句。 此时,猜一次,就需要重新运行。而每次运行,就可能得到另一个数字a。

写一个while循环,这个游戏就可以一直玩下去了: # -*- coding: utf-8 -*- import random a=random.randint(1,100) while True: n=input('请输入数字') if n.isdigit(): n=int(n) if n==a: print('猜对了') elif n>a: print('大了') else: print('小了') else: print('你输入的不是整数') 注意,if语句整体缩进一下。现在,这个游戏可以连续的进行了。

猜数字游戏,可不是胡乱猜测,里面还是有一点小窍门的,看下图,用三段论猜数字。

但是,我们发现,就算我们猜对了,电脑还是需要我们继续猜,这是什么原因呢? 原来,这就是所谓的“思循环”,电脑会一直循环下去,因为我们没有写出退出循环的指令。 我们需要在猜对了的时候,加一个break指令。 看下图,猜对了,就会退出本轮游戏。

上面采用的是while循环,而for循环也可以写这个游戏: # -*- coding: utf-8 -*- import random a=random.randint(1,100) for i in range(1,10): n=input('请输入数字') if n.isdigit(): n=int(n) if n==a: print('猜对了') break elif n>a: print('大了,再小点') else: print('小了,再大点') else: print('你输入的不是整数') i+=1 9次机会,应该绰绰有余了。

如果只有两次机会,猜到的概率就很低了: # -*- coding: utf-8 -*- import random a=random.randint(1,100) for i in range(1,3): n=input('请输入数字') if n.isdigit(): n=int(n) if n==a: print('猜对了') break elif n>a: print('大了,再小点') else: print('小了,再大点') else: print('你输入的不是整数') i+=1

温馨提示

思考:怎么在while里面加入猜数字次数的限制?
点击展开全文

更多推荐