|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 不认真学习DHL 于 2023-2-16 09:00 编辑
循环多次,有时间是对的,有时候是错的,尤其出现如题现象,是最后计分循环出现问题了吗?
- import time,random
- while True: #不确定次数的循环
- player_life = random.randint(100,150)
- enemy_life = random.randint(100,150)
-
- print('玩家血量:%s;敌人血量:%s。'%(player_life,enemy_life))
- print('-------------------------------')
- time.sleep(1.5)
- for i in range(3):
- player_attack = random.randint(30,50) #玩家攻击力每次都是随机的
- enemy_attack = random.randint(30,50)
- print('这是第%s局游戏'%(i+1))
- player_life = player_life - enemy_attack
- enemy_life = enemy_life - player_attack
- print('玩家血量:%s;敌人血量:%s。'%(player_life,enemy_life))
-
- player_victory = 0 #空白计分板
- enemy_victory = 0
- if player_life > 0 and enemy_life < player_life: #玩家大于敌人血量视为赢
- player_victory += 1
- print('玩家赢了(血量:%s)'%player_life)
- elif enemy_life > 0 and player_life < enemy_life: #敌人大于玩家血量视为赢
- print('敌人赢了(血量:%s)'%enemy_life)
- enemy_victory += 1
- else:
- print('同归于尽')
- print('-------------------------------')
- time.sleep(1.5)
- if player_victory > enemy_victory:
- print('最终结果:玩家赢了')
- elif player_victory == enemy_victory:
- print('最终结果:平局')
- else:
- print('最终结果:敌人赢了')
- print('-------------------------------')
- time.sleep(1.5)
- again = input('是否再来一局?请回答是or否')
- if again == '是':
- continue
- else:
- break
复制代码
本帖最后由 isdkz 于 2023-2-16 09:33 编辑
计分应该是放在 for 循环的外面,while 循环的里面,不然每次都在 for 循环里被重置为 0,
它应该在 while 循环重置才对
- import time,random
- while True: #不确定次数的循环
- player_life = random.randint(100,150)
- enemy_life = random.randint(100,150)
-
- player_victory = 0 #空白计分板 这个应该放在 for 循环的外面
- enemy_victory = 0
-
- print('玩家血量:%s;敌人血量:%s。'%(player_life,enemy_life))
- print('-------------------------------')
- time.sleep(1.5)
- for i in range(3):
- player_attack = random.randint(30,50) #玩家攻击力每次都是随机的
- enemy_attack = random.randint(30,50)
- print('这是第%s局游戏'%(i+1))
- player_life = player_life - enemy_attack
- enemy_life = enemy_life - player_attack
- print('玩家血量:%s;敌人血量:%s。'%(player_life,enemy_life))
-
- if player_life > 0 and enemy_life < player_life: #玩家大于敌人血量视为赢
- player_victory += 1
- print('玩家赢了(血量:%s)'%player_life)
- elif enemy_life > 0 and player_life < enemy_life: #敌人大于玩家血量视为赢
- print('敌人赢了(血量:%s)'%enemy_life)
- enemy_victory += 1
- else:
- print('同归于尽')
- print('-------------------------------')
- time.sleep(1.5)
- if player_victory > enemy_victory:
- print('最终结果:玩家赢了')
- elif player_victory == enemy_victory:
- print('最终结果:平局')
- else:
- print('最终结果:敌人赢了')
- print('-------------------------------')
- time.sleep(1.5)
- again = input('是否再来一局?请回答是or否')
- if again == '是':
- continue
- else:
- break
复制代码
|
|