第7关:小游戏大学问(3)作业

作业1:
方案1:
就是在之前的基础上,
增加了 while True 和break 跳出条件

import time,random

player_victory = 0
enemy_victory = 0

while True:
    for i in range(1,4):
        time.sleep(2)  # 让局与局之间有较明显的有时间间隔
        print(' \n——————现在是第'+str(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'+'血量:'+str(player_life)+'\n攻击:'+str(player_attack))
        print('------------------------')
        time.sleep(1)
        print('【敌人】\n'+'血量:'+str(enemy_life)+'\n攻击:'+str(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('你发起了攻击,【玩家】剩余血量'+str(player_life))
            print('敌人向你发起了攻击,【敌人】剩余血量'+str(enemy_life))
            print('-----------------------')
            time.sleep(1.5)

    #打印最终战果
        if player_life > 0 and enemy_life <= 0:
            player_victory += 1
            print('敌人死翘翘了,你赢了!')
        elif player_life <= 0 and enemy_life > 0:
            enemy_victory += 1
            print('悲催,敌人把你干掉了!')
        else:
            print('哎呀,你和敌人同归于尽了!')

    if player_victory > enemy_victory :
        time.sleep(1)
        print('【最终结果:你赢了!】')
    elif enemy_victory > player_victory:
        print('【最终结果:你输了!】')
    else: 
        print('【最终结果:平局!】')
 
    game=input('是否再来一局:再来/结束')
    if game=='结束':
        break

方案2:
while 变量名+变量名的布尔值判断
在开头设某变量的布尔值为True,input后开启判断变量的布尔值是否改变。
(这个我不会,悲伤。。。。)

作业2:
format函数
format()函数是从 Python2.6 起新增的一种格式化字符串的函数,功能比课堂上提到的方式更强大。
format()函数用来占位的是大括号{},不用区分类型码(%+类型码)。
具体的语法是:‘str.format()’,而不是课堂上提到的’str % ()’。
而且,它对后面数据的引用更灵活,不限次数,也可指定对应关系。
看完左侧的代码、结果和注释,你就懂上面几句话的意思了。

运用format函数:
将代码中字符串格式化的代码改成format()函数的方法,改完后运行一下,检验是否正确。

print('【玩家】\n血量: %s \n攻击: %s'%(player_life,player_attact))
print('【玩家】\n血量:{}\n攻击:{}'.format(player_life,player_attack))

你可能感兴趣的:(风变编程)