编程语言
首页 > 编程语言> > 测试面试题集-Python三局两胜小游戏

测试面试题集-Python三局两胜小游戏

作者:互联网

要求:

1.规定玩家和敌方两个角色,存储血量和***力数值;

2.血量是100-150的随机数,***力是30-50的随机数,计算扣除血量,打印战斗过程;

3.双方进行三轮pk,每局判定胜负,三局两胜,判断最终结果;

4.三局游戏结束后,询问是否要继续游戏,可以选择再来一盘,也可以选择退出游戏。




流程图如下:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=



分析:

1.random模块,玩家和敌方生成随机数;

2.展示每局角色属性;

3.双方进行pk,当玩家血量>0且敌方血量>0,执行while循环;

4.进行三轮pk后展示最终结果:

单局结果:

三局两胜:

5.询问是否继续进行游戏;


代码如下:

# !/usr/bin/python3# -*- coding:utf-8 -*-# @Time:2020/1/26  07:00# @微信公众号:ITester软件测试小栈# @Author:coco# @Python交流群:604469740# @Email:3593721069@qq.com# @File:test.py# @Software:PyCharm
import timeimport random
player_victory = 0enemy_victory = 0
while True:    for i in range(1,4):        time.sleep(1)        print(' \n——————现在是第 {} 局——————'.format(i))
        #玩家生成随机数        player_life = random.randint(100,150)        player_attack = random.randint(30,50)
        #敌方生成随机数        enemy_life = random.randint(100,150)        enemy_attack = random.randint(30,50)
        #展示双方角色属性        print('【玩家】\n血量:{}\n***:{}'.format(player_life,player_attack))
        print('------------------------')        time.sleep(1)        print('【敌人】\n血量:{}\n***:{}'.format(enemy_life,enemy_attack))
        print('-----------------------')        time.sleep(1)
        #双方PK        while player_life > 0 and enemy_life > 0:            player_life = player_life - enemy_attack            enemy_life = enemy_life - player_attack            print('敌人发起了***,【玩家】剩余血量{}'.format(player_life))            print('你发起了***,【敌人】的血量剩余{}'.format(enemy_life))            print('-----------------------')            time.sleep(1.2)
        #打印最终战果        if player_life > 0 and enemy_life <= 0:            player_victory += 1            print('你打败了敌人,你赢了!')        elif player_life <= 0 and enemy_life > 0:            enemy_victory += 1            print('敌人把你KO掉了,你输了!')        else:            print('你和敌人同归于尽,平局!')    if player_victory > enemy_victory :        time.sleep(1)        print('\n【最终结果:你赢了!】')    elif enemy_victory > player_victory:        print('\n【最终结果:你输了!】')    else:        print('\n【最终结果:平局!】')
    a1 = input('要继续游戏吗,请输入N退出,输入其他继续:')    if a1 == 'N':        break


运行结果:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


编程的实现无非经历以下四个步骤:明确目标,分析思路,拆解过程,逐步优化。你有更加好的实现方法吗?

标签:enemy,life,三局两胜,Python,血量,玩家,试题集,player,print
来源: https://blog.51cto.com/u_10913485/2829913