欢迎光临我的blog!!!下面我将用python实现猜数字游戏。
用python实现猜数字游戏可以加深python初学者循环结构的理解和运用。
猜数字游戏规则如下:
电脑程序随机生成一个数字,作为猜数字游戏的最终答案,用户在键盘输入所猜数字。用户每猜一次程序都会做出相应的提示。若用户输入所猜的数字小于电脑随机生成的数字,则提示“你猜小了”;若大于,则提示“你猜大了”;若等于,则提示“恭喜你,猜对了”。
这里我们需要用到一个随机生成数字的库:random,使用如下:
#导入随机生成模块
import random
#随机生成一个1~100之间(不包括100)的随机整数
answer = random.randrange(1,100)
假设对用户所猜数次数没有限制,直到猜中为止。则我们通过while循环实现猜数字游戏:
# 导入随机生成模块
import random
# 随机生成一个1~100之间(不包括100)的随机整数
answer = random.randrange(1, 100)
while True:
your_answer = int(input("请输入你的答案:"))
if your_answer > answer:
print("你猜大了大")
elif your_answer < answer:
print("你猜小了")
else:
print("恭喜你,猜中了")
break
结果如下:
如果对猜次数有限制,则我们可以用一个变量,如‘count’用来存储所猜次数,当达到次数限制则提前退出游戏,代码如下(这里我们也可以直接用for循环控制循环次数):
# 导入随机生成模块
import random
# 随机生成一个1~100之间(不包括100)的随机整数
answer = random.randrange(1, 100)
#统计所猜次数
count = 0
while True:
count += 1 #每循环一次,count加一
your_answer = int(input("请输入你的答案:"))
if your_answer > answer:
print("你猜大了")
elif your_answer < answer:
print("你猜小了")
else:
print("恭喜你,猜中了")
break
if count == 3: #循环次数达到3,则游戏结束退出循环
print("游戏结束,您未猜中")
break
结果如下:
接下来我们对这个游戏进行一个小改动,由用户输入一个数字,让电脑猜:
代码如下:
# 导入随机生成模块
import random
#用户输入数字
answer = int(input('请输入答案:'))
#每循环一次,改变范围。big表示范围结束值,small表示范围开始值,count依然用于统计次数
big, small, count= 100, 1, 0
#电脑程序所猜第一个值,我们先在循环外得到
guess = random.randrange(small, big)
while True:
count += 1
if guess > answer:
print(f'电脑猜{guess},猜大了')
big = guess
guess = random.randrange(small, guess)
elif guess < answer:
print(f'电脑猜{guess},猜小了')
small = guess +1
guess = random.randrange(small, big)
else:
print(f'正确答案{answer},电脑猜{count}次猜中了,给它666')
break
结果如下:
大家有更好的想法,欢迎在下方留言评论哦