此文转载自:https://blog.csdn.net/qq_45742155/article/details/110184544
前面,我们讲了变量和字符串的一些种类。朋友们,还记得我们之前的那个智障的文字小游戏吗?今天,我们要做的第一件事就是来改进我们的文字小游戏,至于第二件事嘛,先让我卖个关子,众位客官,注意咯!
1)首先,根据一些用户的反馈,我们的游戏主要有三个方面的不足:
①猜错的时候程序应该有提示(比如告诉用户数字猜大了或者是猜小了)
②游戏每次执行的时候,用户只能猜一次,应该提供多次机会给用户去猜测
③游戏每次运行的答案是一致的,很容易导致答案的外泄,所以我们需要把这个答案设置成随机的
所以,我们根据这三个要求来实现一个更人性化的文字小游戏吧!
第一步:
要实现这个要求,我们要介绍一下条件分支的概念:
这个基本模块是:
if 条件:
缩进 条件为真时执行的操作
else:
缩进 条件为假时执行的语句
所以实现后的代码是:
print('---------欢迎来到王者荣耀---------')
guess = input('请输入你想要输入的数字:')
temp = int(guess)
if temp == 8:
print('恭喜你!猜对了')
print('游戏结束!')
else:
if temp > 8:
print('哥,大了大了~~')
else:
print('嘿,小了小了~')
print('游戏结束!')
这个就基本实现了我们的第一个要求:玩游戏的时候能够提示猜大或者是猜小的信息
那我们现在就来看一下第二个要求,要实现不止一次的游戏体验机会,这个该怎么办呢?莫慌,我们Python有while的循环结构:
这个基本模块是:
while 条件:
缩进 条件为真时执行的语句
现在我们就来看一下我们的代码吧:
print('---------欢迎来到王者荣耀---------')
temp = int(input('请输入你想要输入的数字:'))
while temp != 8:
if temp > 8:
print('哥,大了大了~~')
else:
print('嘿,小了小了~')
temp = int(input('请重新输入一个数字:'))
if temp == 8:
print('恭喜你!猜对了,游戏结束!')
else:
if temp > 8:
print('哥,大了大了~~')
else:
print('嘿,小了小了~')
print('游戏结束!')
好了,讲到这里,我们再来实现第三个要求吧:
这里我们要引入一个随机的函数模块:random,这也是一个常见的BIF,它里面有一个randint函数,就是用来产生随机数的:
import random print('---------欢迎来到王者荣耀---------')
temp = int(input('请输入你想要输入的数字:'))
reality = random.randint(1,10) if temp > reality:
print('哥,大了大了~~')
elif temp < reality:
print('嘿,小了小了~')
else:
print('恭喜你!答对了!')
while temp != reality:
temp = int(input('请重新输入一个数字:'))
if temp == reality:
print('恭喜你!猜对了,游戏结束!')
else:
if temp > reality:
print('哥,大了大了~~')
else:
print('嘿,小了小了~') print('游戏结束!')
当然,我们可以更加人性化一点:
①我们可以设置答错上限是什么,超过这个上限,用户就不能继续玩下去了
②我们可以设置让界面隔一段时间再出现——不是我们一打完信息后,下一句话就已经出现了,我们可以让游戏变成交互式的
针对第一点,我们就以三次为例吧(这里,我们还是不可避免的用到while循环):
times表示次数
代码如下:
import random
print('---------欢迎来到王者荣耀---------')
temp = int(input('请输入你想要输入的数字:'))
times = 3
reality = random.randint(1,10)
if temp > reality:
print('哥,大了大了~~')
elif temp < reality:
print('嘿,小了小了~')
else:
print('恭喜你!答对了!')
times -= 1
while temp != reality:
while times > 0:
temp = int(input('请重新输入一个数字:'))
if temp == reality:
print('恭喜你!猜对了,游戏结束!')
times -= 1
else:
if temp > reality:
print('哥,大了大了~~')
times -= 1
else:
print('嘿,小了小了~')
times -= 1
else:
print('您的次数已经耗尽!')
break
print('游戏结束!')
至于第二点,我们又需要引入一个新的BIF——time函数
代码如下:
import random
import time
print('---------欢迎来到王者荣耀---------')
time.sleep(1)
temp = int(input('请输入你想要输入的数字:'))
times = 3
reality = random.randint(1,10)
if temp > reality:
print('哥,大了大了~~')
elif temp < reality:
print('嘿,小了小了~')
else:
print('恭喜你!答对了!')
times -= 1
while temp != reality:
while times > 0:
temp = int(input('请重新输入一个数字:'))
if temp == reality:
print('恭喜你!猜对了,游戏结束!')
times -= 1
else:
if temp > reality:
print('哥,大了大了~~')
times -= 1
else:
print('嘿,小了小了~')
times -= 1
else:
print('您的次数已经耗尽!')
break
time.sleep(1.2)
print('游戏结束!')
其中,time.sleep()后面括号里既可以填浮点数又可以填整数。
另外,那个random.randint(1,10)包括1但是不含10
好了,到这里,你已经基本掌握Python最基本最基本的知识了,好的,下一期再见!