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. MyEclipse设置不编译js部分

    https://jingyan.baidu.com/album/ca41422fe094251eae99ede7.html?picindex=1 步骤: 1)选中当前工程,右键单击properties ...

  2. JSON.toJSONString(Object object,SerializerFeature...features)详解

    D package myProject; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; ...

  3. 第三十二篇 玩转数据结构——AVL树(AVL Tree)

          1.. 平衡二叉树 平衡二叉树要求,对于任意一个节点,左子树和右子树的高度差不能超过1. 平衡二叉树的高度和节点数量之间的关系也是O(logn) 为二叉树标注节点高度并计算平衡因子 AVL ...

  4. setCascadeOpacityEnabled

    setCascadeOpacityEnabled Enable or disable cascade opacity, if cascade enabled, child nodes' opacity ...

  5. PPT 素材大全

    1.模板大全 2.三方辅助软件APP 3.PPT学习软件 www.presentationload.com dribble.com www.zcool.com.cn 4.其他功能

  6. Apache Kafka(十一)Topic 的配置与组成

    Topic 的配置与组成 之前我们仅主要介绍了Kafka Producer与Kafka Consumer 的相关配置,而未详细介绍过有关topic的配置.Topic的配置在Kafka 使用中也至关重要 ...

  7. java_爬虫_获取经过js渲染后的网页源码

    md 弄了一天了……(这个月不会在摸爬虫了,浪费生命) 进入正题: 起初是想写一个爬虫来爬一个网站的视频,但是怎么爬取都爬取不到,分析了下源代码之后,发现源代码中并没有视频的dom 但是在浏览器检查元 ...

  8. Centos7 切换 yum 源

    # yum install lrzsz修改CentOS默认yum源为mirrors.aliyun.com1.首先备份系统自带yum源配置文件/etc/yum.repos.d/CentOS-Base.r ...

  9. 【PAT甲级】1114 Family Property (25分)(并查集)

    题意: 输入一个正整数N(<=10000),接着输入N行每行包括一个人的ID和他双亲的ID以及他的孩子数量和孩子们的ID(四位整数包含前导零),还有他所拥有的房产数量和房产面积.输出一共有多少个 ...

  10. 一文明白所谓的CS与BS设计模式

    CS设计模式 概念:CS设计模式,C代表的是Client,S代表的是Server.正如图中的所示,是客户机与服务器之间的交互.这种交互在早期的软件系统中,大多数都是采用这种模式,通过将任务合理分配到C ...