您的位置首页百科知识

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

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

的有关信息介绍如下:

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

在《用python制作一个简单的猜数字游戏》里面,我们学习了用if语句制作简单的猜数字游戏,但是这个猜数字游戏只能猜一次,不连续。

下面,我们引进循环语句,把这个游戏完善一下。

24用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