读故事学编程:Python王国历险记
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

7.2 比大小

随后,派森和鹦鹉来到了“比大小”游戏前。这个游戏也比较简单,系统会为派森和游戏场一方各赋值一个随机数,如果派森的数字更大,就会获得投入金钱的双倍奖金。这个游戏的完整代码如下:

import random
money = int(input(‘欢迎参加比大小游戏!胜利将获得双倍奖金!您投多少钱?'))
num1 = random.randint(1, 10) # 代表派森
num2 = random.randint(1, 10) # 代表游戏场一方
print(‘派森的点数为:', num1, ’对方的点数为:', num2)
if num1 > num2:
    print(‘恭喜获胜!奖金为’, money * 2)
else:
    print(‘对方获胜!')

我们来分析一下代码。这里同样用到了随机函数,用randint语句为两个变量num1、num2分别随机赋1和10之间的整数值。变量money用来存储派森投入的金钱数目,而因为用input语句获得的数字为字符串类型,所以还需要用int()函数将其转化为数字类型。然后通过if...else语句进行条件判断,如果派森的数字更大,则可以获得双倍奖金。

运行代码,结果如下:

欢迎参加比大小游戏!胜利将获得双倍奖金!您投多少钱?1000元
派森的点数为: 3 对方的点数为: 4
对方获胜!

7.3 幸运转盘

派森和鹦鹉来到了“幸运转盘”面前。转盘上有很多数字,转动起来直至停止,这时指针指向的数字如果和参与者猜的数字一致,参与者就能获得百倍奖金。这个游戏的完整代码如下:

import random
maxNum = 36 # 转盘上的最大数字,值越小,概率越大
yourNum = int(input(‘转盘上有’ + str(maxNum) + ’个数字,猜对数字得百倍奖金,您选择哪个?'))
money = int(input(‘您想投多少钱?'))
num = random.randint(1, maxNum) # 代表指针指向转盘上的某个数字
if yourNum == num:
    print(‘恭喜您获得大奖!奖金为’, money * 100)
else:
    print(‘指针指向数字’, num, '。', ’您没有中奖,祝您下次好运!')

我们来分析一下代码,这里同样用到了随机函数。变量maxNum用来表示转盘上共有多少个数字。通过两个input语句分别获得选择的数字和投入的金钱数目。变量num用来存储指针指向的数字,该数字也是通过随机函数生成的。最后通过if...else语句判断派森是否猜对了数字,如果他猜对了就会获得百倍奖金,用“money*100”表示。

运行代码,结果如下:

转盘上有36个数字,猜对数字得百倍奖金,您选择哪个?15
您想投多少钱?25元
指针指向数字 4 。 您没有中奖,祝您下次好运!

7.4 幸运数字

最后,派森和鹦鹉尝试了“幸运数字”。“幸运数字”的玩法比较简单:依次显示3个数字,如果这3个数字相同,则能够获得3倍奖金。“幸运数字”这个游戏的完整代码如下:

import random
money = int(input(‘3个数字相同可获得3倍奖金,您想投多少钱?'))
maxNum = 9 # 游戏显示的最大数字,值越小,3个数字相同的概率就越大
num1 = random.randint(1, maxNum)
num2 = random.randint(1, maxNum)
num3 = random.randint(1, maxNum)
print(‘最后结果为:', num1, num2, num3)
if num1 == num2 and num2 == num3:
    print(‘恭喜您获得大奖!奖金为’, money * 3)
else:
    print(‘没有中奖,祝您下次好运!')

我们来分析一下代码,有了上面的几个游戏基础,这里的代码就显得很简单了。用随机函数随机生成1和maxNum之间的随机整数,分别存储在num1、num2、num3这3个变量中。通过if...else语句进行条件判断,如果3个数字相同,则可以获得大奖,奖金为投入金钱数目的3倍。

运行代码,结果如下:

3个数字相同可获得3倍奖金,您想投多少钱?120元
最后结果为: 6 8 1
没有中奖,祝您下次好运!