第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))
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 3、5、7的公倍数可以通过它们的最小公倍数来计算,即3*5*7=105。所以,105的整数倍就是它们的公倍数。下面是输出前10个3、5、7的公倍数的Python代码: ```python for i in range(1, 11): print(i*105) ``` 输出结果为: ``` 105 210 315 420 525 630 735 840 945 1050 ``` ### 回答2: 第1要求输出3、5、7的公倍数。我们可以用一个循环来判断并输出这些公倍数。 首先,我们设定一个变量num,它的初始值为1。然后进入一个循环,判断num是否是3、5、7的公倍数,即判断num是否同时能被3、5、7整除。 在每一轮循环中,我们使用取余运算符(%)来判断num是否能被3、5、7整除。如果num%3=0且num%5=0且num%7=0,那么num就是3、5、7的公倍数,我们就将其输出。输出完后num变量自加1,进入下一轮循环。 在代码中,我们使用一个变量count来控制输出的次数,当count达到目标次数时,我们就跳出循环。这样做是为了使程序不会无限循环下去。 下面是实现这个功能的代码: ``` num = 1 count = 0 while count < 300: if num % 3 == 0 and num % 5 == 0 and num % 7 == 0: print(num) count += 1 num += 1 ``` 以上代码可以输出从小到大的300个3、5、7的公倍数。 ### 回答3: 要输出3、5、7的公倍数,我们可以使用循环来判断每一个数是否是它们的公倍数。首先,我们需要明确一个规则,即一个数x是3、5、7的公倍数,那么x必须同时是3、5、7的倍数,也就是说x必须能被3、5、7整除。 我们可以使用一个循环来遍历从1到300的所有整数,对于每一个数,我们使用条件判断来判断它是否是3、5、7的公倍数。具体步骤如下: 1. 初始化一个变量count为0,用于计数输出的公倍数的个数。 2. 使用循环从1遍历到300的所有整数,表示为i。 3. 在循环中,使用条件判断来判断i是否是3、5、7的公倍数。条件判断条件可以通过判断i是否能同时被3、5、7整除来实现。如果满足条件,执行下一步;否则,继续循环。 4. 如果满足条件,输出i,并将count加1,表示输出了一个公倍数。 5. 在循环结束后,输出公倍数的个数count。 根据以上步骤,我们可以实现一个程序来输出3、5、7的公倍数。具体输出的结果会有多个,因为题目没有对输出的形式和排列顺序做出限定。每次运行程序,都可能得到不同的结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值