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. Chrome浏览器所有页面崩溃

    问题描述 Chrome浏览器所有页面崩溃,包括设置页面,"喔唷,崩溃啦!" 显示错误码:STATUS_INVALID_IMAGE_HASH Chrome所有插件报错,右下角一串弹框 ...

  2. JavaScript对象之属性标签

    本文介绍一下js对象的属性标签(configurable.writable.enumerable.value.get.set)的使用. 上图的要点为: 1.Object.getOwnPropertyD ...

  3. jQuery 抖动特效函数封装

    <style> ul{ margin-top: 100px; } li { float: left; margin-left: 20px; position: absolute; top: ...

  4. rancher三节点k8s集群部署例子

    rancher三节点k8s集群部署例子 待办 https://rorschachchan.github.io/2019/07/25/使用Rancher2-1部署k8s/

  5. mongo gridfs 学习

    一.mongo是啥东西? MongoDB 是由C++语言编写的,基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能. 二.gridfs是啥东西? 1.MongoD ...

  6. Django框架中auth模块的详解

    auth模块 auth模块是对登录认证方法的一种封装,本身就是一个对象,可以获取用户的详细信息,有了auth模块可以验证登录信息是否存在数据库中,还可以检验用户是否已经登录,校验密码等 auth方法 ...

  7. PHP 可选参数

    function chooseable($a,$b,$d,$c="我是可选参数c"){ //注意:可选参数一定要是在必选参数后面(有默认值就是可选参数):PHP中参数一定要变量符号 ...

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

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

  9. 新手学习PHP的避雷针,这些坑在PHP开发中就别跳了

    不要!用记事本编辑php文件 早些年能用记事本编程是一些人自我吹嘘的资本,能用记事本编程就是牛逼的代名词.但是这里要告诫大家的是,千万不要使用Windows自带的记事本编辑任何文本文件.用Window ...

  10. java基础(八)之函数的复写/重写(override)

    复写的意思就是子类对父类的修改. 复写的条件: 1.在具有父子类关系的两个类当中:2.父类和子类各有一个函数,这两个函数的定义保持一致(返回值类型.函数名.参数列表) 还是老样子,3个文件来说明. P ...