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. 你是否听说过 HashMap 在多线程环境下操作可能会导致程序死循环?

    作者:炸鸡可乐 原文出处:www.pzblog.cn 一.问题描述 经常有些面试官会问,是否了解过 HashMap 在多线程环境下使用时可能会发生死循环,导致服务器 cpu 100% 的线上故障? 关 ...

  2. 计算机网络,HTTP - 头部中带X前缀的头部字段

    HTTP中,什么是"X-" Prefix header? 例如 github API 的response headers有很多X前缀的头部: 查一下MDN文档: Custom pr ...

  3. 查看gcc编译器版本

    我们在windows下DS5中编译时使用GCC交叉编译器,但是在ubuntu时也需要使用GCC编译器,这时最好时保持版本一致,所以就需要查看windows下版本,如下图,在按装的文件夹中找到对应得文件 ...

  4. MVC5+EF6 入门完整教程1 :从0开始

    https://www.cnblogs.com/miro/p/4030622.html 第0课 从0开始 ASP.NET MVC开发模式和传统的WebForm开发模式相比,增加了很多"约定& ...

  5. UI 自定义布局

    今天继续学习UI布局的布局管理器,昨天学习并练习使用了线性布局,相对布局和帧布局,今天学习表格布局,网格布局以及嵌套布局,相对于前三种布局,后三种布局比较复杂一些. 1.表格布局 TableLayou ...

  6. AcWing 895. 最长上升子序列

    //设上升序列的最后一个数字为第i个,那么就以第i-1个位分类标准, //i-1可以没有,也可以是在数组中下标为1,下标为2 //一直到下标为i-1的数字 #include <iostream& ...

  7. 微信或QQ屏蔽了我的域名,已经被微信屏蔽的域名如何在微信打开,如何进行微信域名防封?

    微信域名完全防封是绝对不可能的,这是必须明确的,曾经有人打折<不死域名>的概念,它不是不死,是稍微命长一点,在推广上成本更低一下,效果更好一些, 主要的技术原理是利用了腾讯云的域名安全联盟 ...

  8. python下matplotlib、numpy、pandas联合作图逐步深入分析

    1.代码1: from pandas import Series,DataFrame from numpy.random import randn import numpy as np import ...

  9. sublime添加自己的编译环境_添加一个.app或者.exe文件执行脚本

    如何添加一个.app或者.exe文件执行脚本 看了很多简书和博客,还是搞不好,最后参考官方文档搞定了: http://www.sublimetext.com/docs/3/build_systems. ...

  10. Windows10安装node.js

    1.下去官网下载node.js https://nodejs.org/zh-cn/download/ 2.安装,直接默认即可,安装路径也可以自己选择 3.设置环境变量 1.安装软件,若是-g,则是全局 ...