python--小游戏(循环+随机)

 1 import time
 2 import random
 3 
 4 player_victory = 0
 5 enemy_victory = 0
 6 a1 = True
 7 while a1:
 8     for i in range(1,4):
 9         time.sleep(1.5)
10         print('  \n——————现在是第 %s 局——————' % i)
11     #对比之前:(' \n——————现在是第'+str(i)+'局——————')
12         player_life = random.randint(100,150)
13         player_attack = random.randint(30,50)
14         enemy_life = random.randint(100,150)
15         enemy_attack = random.randint(30,50)
16 
17         print('【玩家】\n血量:%s\n攻击:%s' % (player_life,player_attack))
18         print('------------------------')
19         time.sleep(1)
20         print('【敌人】\n血量:%s\n攻击:%s' % (enemy_life,enemy_attack))
21         print('-----------------------')
22         time.sleep(1)
23         while player_life > 0 and enemy_life > 0:
24             player_life = player_life - enemy_attack 
25             enemy_life = enemy_life - player_attack
26             print('你发起了攻击,【敌人】剩余血量%s' % enemy_life)
27             print('敌人向你发起了攻击,【玩家】的血量剩余%s' % player_life)
28             print('-----------------------')
29             time.sleep(1.2)
30         if player_life > 0 and enemy_life <= 0:
31             player_victory += 1
32             print('敌人死翘翘了,你赢了!')
33         elif player_life <= 0 and enemy_life > 0:
34             enemy_victory += 1
35             print('悲催,敌人把你干掉了!')
36         else:
37             print('哎呀,你和敌人同归于尽了!')
38         if player_victory > enemy_victory :
39             time.sleep(1)
40             print('\n【最终结果:你赢了!】')
41         elif enemy_victory > player_victory:
42             print('\n【最终结果:你输了!】')
43         else: 
44             print('\n【最终结果:平局!】')
45     input('如不想继续,请输入n:')
46     request = input
47     if request == 'n':
48         break

再来一局的方案有两种:1.通过break   2.通过判断布尔值为true or false进行再次循环或者结束

2.format函数:

 1 # % 格式化:str % ()
 2 print('{}{}'.format('数字:',0))
 3 print('{0},{1}'.format(0,1))
 4 print('{0},{0},{1}'.format(0,1,0))
 5 
 6 name1 = 'Python'
 7 print('I am learning {}'% name1)  # 注:当只跟一个数据时,%后可不加括号,format()一定要有。
 8 
 9 # format()格式化函数:str.format()
10 print('\n{}{}'.format('数字:',0))  # 优势1:不用担心用错类型码。
11 print('{},{}'.format(0,1))  # 不设置指定位置时,默认按顺序对应。
12 print('{1},{0}'.format(0,1))  # 优势2:当设置指定位置时,按指定的对应。
13 print('{0},{1},{0}'.format(0,1))  # 优势3:可多次调用format后的数据。
14 
15 name2 =  'Python基础语法'
16 print('我正在学{}'.format(name2))  # format()函数也接受通过参数传入数据。

不管是‘%’ 格式化输出还是format()格式化输出,其基本语法相似,但format函数更为精简

%s 表示字符串 %d表示整数 %f表示浮点数,而format()不用注意类型

3.range()

range()函数有三种形式:1.range(a)表示,从0开始到a;2.range(a,b)表示,从a开始到b; 3.range(a,b,c)表示从a到b 中间每隔c个数 记一次数,直到b。

range()函数经常用于 for循环语句中

4.延时函数

延时函数与随机生成数函数一致需要模板的引用。

import time   //引用模板

time.sleep(a)//a为延时的secs(间隔秒数 seconds) 

5.随机数函数

import random //引用模板

rabdom.randint(0~9)//在0-9之间任选一个数

posted @ 2020-02-26 19:23  BQ不吃香菜  阅读(990)  评论(1编辑  收藏  举报