前面,我们讲了变量和字符串的一些种类。朋友们,还记得我们之前的那个智障的文字小游戏吗?今天,我们要做的第一件事就是来改进我们的文字小游戏,至于第二件事嘛,先让我卖个关子,众位客官,注意咯!
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最基本最基本的知识了,好的,下一期再见!