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之间任选一个数

python--小游戏(循环+随机)的更多相关文章

  1. Python小游戏、小程序

    python 小游戏之摇骰子猜大小 python 实现一个双色球生成程序 python-循环与判断练习题

  2. Python小游戏之 - 飞机大战美女 !

    用Python写的"飞机大战美女"小游戏 源代码如下: # coding=utf-8 import os import random import pygame # 用一个常量来存 ...

  3. python 小游戏之摇骰子猜大小

    最近学习Python的随机数,逻辑判断,循环的用法,就想找一些练习题,比如小游戏猜大小,程序思路如下: 开发环境:python2.7 , 附上源代码如下: 摇骰子的函数,这个函数其实并不需要传任何参数 ...

  4. python小游戏-pygame模块

    一.tkinter模块的GUI 基本上使用tkinter来开发GUI应用需要以下5个步骤: 导入tkinter模块中我们需要的东西. 创建一个顶层窗口对象并用它来承载整个GUI应用. 在顶层窗口对象上 ...

  5. 玩Python小游戏猜数字,在游戏中掌握基础,你还能学不会?

    学python怎么离得开案例呢? 今天再继续给大家分享一个Python教程里的猜数字游戏     我最近也是在学python,从事编程工作几年了,但是python还是今年才开始玩的,不得不说,这真是一 ...

  6. python小游戏-水文

    脚本不会,全都白费.所以就去学习了简单的python,结果不慎学了python中的pygame,浪费了不少时间,没啥用如果不做游戏个人觉得最好别学,学爬虫她不香吗?不过也有一点收获,打飞机小游戏,源码 ...

  7. Python小游戏 -- 猜单词

    Python初学者小游戏:猜单词 游戏逻辑:就像我们曾经英语学习机上的小游戏一样,电脑会从事先预置的词库中抽取单词,然后给出单词的字母数量,给定猜解次数,然后让玩家进行猜测,并给出每次猜测的正确字母与 ...

  8. Python小游戏 -- 猜数字

    Python初学者小游戏:猜数字 游戏逻辑:电脑随机生成一个数字,然后玩家猜数字,电脑提示猜的数字大了还是小了,供玩家缩小数字范围,达到既定次数后,玩家失败.若在次数内猜对,玩家获胜. 涉及知识点:r ...

  9. Python小游戏之 - 飞机大战 !

    用Python写的"飞机大战"小游戏 源代码如下: # coding=utf-8 import random import os import pygame # 用一个常量来存储屏 ...

  10. Python小游戏——外星人入侵(保姆级教程)第一章 07调整飞船速度 08限制飞船活动范围

    系列文章目录 第一章:武装飞船 07调整飞船速度 08限制飞船活动范围 一.代码及演示 1.修改settings 修改文件:settings.py 点击查看代码 #渗透小红帽python的学习之路 # ...

随机推荐

  1. linux 中对 mysql 数据表的基本命令

    显示数据表的结构 describe 表名; 建表 use 库名: create table 表名(字段设定列表): 将表中记录清空 delete from 表名; 删表 drop table 表名:

  2. java List 排序,升序,降序

    import java.util.*; public class EntrySets { public static void main(String[] args) { Map<Object, ...

  3. JavaScript可视化运行工具推荐

    事件循环.执行栈和任务队列可视化 这个宏任务.微任务,自带例子,也可以自己编辑,不过超过5s的例子就不行 JavaScript Visualizer Tyler Mcginnis大佬的Advanced ...

  4. 今天我解决的sql中文乱码问题

    昨天我终于把我的网站做好了,在电脑上准备就绪,经过测试一切正常,放上服务器上准备炫耀一下的时候,发现插进数据库的中文字段全都变成???了,检测了下,前台是utf-8,后台是utf-8,在插进数据库前我 ...

  5. PLL

    PLL(Phase Locked Loop): 为锁相回路或锁相环,用来统一整合时脉讯号,使内存能正确的存取资料.PLL用于振荡器中的反馈技术. 许多电子设备要正常工作,通常需要外部的输入信号与内部的 ...

  6. SpringMvc执行流程及底层代码流程

    SpringMVC执行流程   01.客户端发送请求被我们在web.xml中配置DispatcherServlet(核心控制器)拦截: 默认执行DispatcherServlet中的 protecte ...

  7. HBase 中读 HDFS 调优

    HDFS Read调优 在基于 HDFS 存储的 HBase 中,主要有两种调优方式: 绕过RPC的选项,称为short circuit reads 开启让HDFS推测性地从多个datanode读数据 ...

  8. 解决nginx报错:nginx: [emerg] bind() to 0.0.0.0:8088 failed (13: Permission denied)

    报错描述: nginx: [emerg] bind() to 0.0.0.0:8088 failed (13: Permission denied) 通过ansible远程给主机更换端口并重新启动ng ...

  9. ThinkPHP中的时间自动填充 无法获取时间

    protected $_auto = array(       array('addTime','time','1','function'),    ); addTime在数据库里的的类型必须为int ...

  10. EntityFramework 根据时间筛选数据

    需求:根据当前时间,获取条件合适的数据,其中截止时间只比较日期. 1. 运行会报错的版本: var lifeWorkEventBatch = clientRepositoryContainer.Lif ...