random函数的使用与while和for循环配合使用练习。
random函数生成随机数,赋值给变量(生命力和攻击力),进行人机格斗游戏。循环3局,再返回游戏结果。注意循环的局数i,和记录输赢次数的abc三个变量在循环中的正确位置。另外学到格式化数据类型的 %s %d %f,以及 .format()的使用。可以方便的使用不同数据类型的变量而不会出错。
import time,random
print('\n')
while True:
a=0
b=0
c=0
for i in range(1,4):
print('--------现在是第 %s 局--------'%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血量:%s\n攻击:%s' %( player_life,enemy_life))
print('------------------------')
time.sleep(2)
print('【敌人】\n血量:{}\n攻击:{} '.format (enemy_life,enemy_attack))
print('------------------------')
time.sleep(2)
while (player_life>0) and (enemy_life>0):
player_life=player_life-enemy_attack
enemy_life=enemy_life-player_attack
print('你发起了攻击,【敌人】剩余血量为'+str(enemy_life))
print('敌人向你发起了攻击,【玩家】剩余血量为'+str(player_life))
print('------------------------')
time.sleep(2)
if (player_life>0) and (enemy_life<=0):
print('【你的血量为'+str(player_life)+',敌人的血量为'+str(enemy_life)+',第'+str(i)+'局你赢了!】')
a+=1
elif (player_life<=0) and (enemy_life>0):
print('【你的血量为'+str(player_life)+',敌人的血量为'+str(enemy_life)+',第'+str(i)+'局你输了!】')
b+=1
print('\n')
else:
print('【第'+str(i)+'局同归于尽了!】')
c+=1
print('\n\n\n')
print('你赢了'+str(a)+'局,'+'敌人赢了'+str(b)+'局。')
if c>0:
print('平局'+str(c)+'局。')
if a>b:
print('最后你赢了!')
elif a<b:
print('最后你输了!')
else:
print('三局两胜打成平局。')
print('\n\n')
conti=input('是否再来三局,继续请输入y,任意键退出:')
if conti==('y'):
continue
else:
break