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. sql查询——范围查询(区间查询)

    --范围查询(区间查询) --in() --查询年龄为18,28,38的人 select *from student where age=18 or age=28 or age=38; select ...

  2. Jquery动态改变my97datepicker的日期形式

    先要解绑触发事件: $('#start').unbind('focus'); 然后再绑定触发事件: $('#start').bind('focus',function(){WdatePicker({s ...

  3. spring(三):DefaultListableBeanFactory

  4. DisplayNameFor()方法的工作原理

    DisplayNameFor()方法的工作原理原创Peter Yelnav 最后发布于2018-11-23 11:09:51 阅读数 1308 收藏展开最近研究了一下ASP.NET MVC,困惑于视图 ...

  5. 关于Javaweb的比较好用的jar包概述

    (连接数据库之前首先要导入这个数据库的驱动jar包 例如mysql 为mysql-connector-java-5.1.46.jar) 关于连接数据库的数据库连接池c3p0  jar包: c3p0-0 ...

  6. 题解【CodeForces1154A】Restoring Three Numbers

    Description Polycarp has guessed three positive integers \(a\), \(b\) and \(c\). He keeps these numb ...

  7. Docker常用命令及脚本

    1.常用命令 docker          search centos                                #搜索镜像              pull centos   ...

  8. 一些关于网页标题的动态js特效

    1.当转换页面时,标题改变 <script> document.addEventListener('visibilitychange',function(){ if(document.vi ...

  9. C语言是菜鸟和大神的分水岭

    作为一门古老的编程语言,C语言已经坚挺了好几十年了,初学者从C语言入门,大学将C语言视为基础课程.不管别人如何抨击,如何唱衰,C语言就是屹立不倒:Java.C#.Python.PHP.Perl 等都有 ...

  10. 【vue】axios + cookie + 跳转登录方法

    axios 部分: import axios from 'axios' import cookie from './cookie.js' // import constVal from './cons ...