msb600已退出代码为5_【风变编程】第7关学习笔记及代码扩展

  • 第七关的重点知识点函数为(计时属性)time模块 和(随机属性) random模块

通过前面几关的学习,我们脑海中定然是有了以下这些函数的用法:

列表、字典、for循环、while循环以及 if 函数、input函数

那么,既然是第七关了,以上函数必定是都会用到的。

所以,我们先来看最简单的重复利用来运行一个简单的重复pk游戏。

这里用到的就是for循环,简单2次循环下的print运行:

96cd53f62f1d20b9c738e4e9d30fa11f.png

了解了大概的游戏循环形式,接下来咱们就开始来了解time模块和random模块的作用:

#time 模块 

计时器import time  #调用time模块
 time.sleep() 
 #time.sleep相当于休眠,()里填上任意数字
#然后将time.sleep()放到你要休眠的代码下即可

#示例

import timeprint('我很好')
time.sleep(2)
print('我也很棒!')
#打印出来后会发现在我很好后会停顿大概2秒再打印我也很棒
#random 模块 

随机抽取import random    

# 同样调用random模块,import是打开的意思。

random.randint(a,b)   # 随机在a 到 b中生成数字

#示例

import random

number=random.randint(5,7)
print(number)
>>> 5   6   7   #随机生成

#除此之外,random还有以下两个用法

#random.random()   #用于生成一个0到1之间的随机符点数(注意不包含0和1)
import random
a=random.random()
print(a)
>>>0.9792289565726476

 #random.uniform(a,b)
#用于生成一个(a,b)之间的浮点数

import  random

a=random.uniform(10,15)
print(a)
>>>10.500775002432427

知道了Time和Random用法后,在原有的for循环上加进time和random,这里记得要赋值了,因为random是随机的,不能再用print直接打印。

df7e724836de9e748a70e7eb14752076.png

最难一点来了!!!!

while True + break 定义三局结束分出胜负后,询问你是否还要继续。

看代码!看代码!看代码!

import time,random   #调用time和random模块

my_win = 0     #加个空房间用来计分 把它当作0:0的记分牌you_win = 0    #方便后面计算输赢

while True:   
  end= input('请问继续游戏还是退出游戏')   #input互动

    if end == '继续':         
  #如果输入继续,新一轮开始       

 print('新一轮pk开始')            for i in range(4):       
 #定义每一轮的游戏为三局                     time.sleep(1)   #间隔时间                
print('--------NO.'+str(i)'-------')        time.sleep(2)        
print('--------------------------')            

my_life = random.randint(100,150)        my_attack = random.randint(30,50)   #随机生成数字
you_life = random.randint(100,150)        you_attack = random.randint(30,50)
    # 展示双方角色的属性      

print('【我】n'+'生命值:'+str(my_life)+'n攻击:'+str(my_attack))       

 print('-------------------------')        time.sleep(1)       

print('【你】n'+'生命值:'+str(you_life)+'n攻击:'+str(you_attack))        

print('---------------------------')        time.sleep(1)
 while my_life > 0 and you_life <0 :               my_life = my_life - you_attack       #重新赋值,定义pk后的生命值    
  you_life = you_life - my_attack
  
print('我发起了攻击,你的生命值还剩'+str(you_life))      

print('你发起了攻击,我的生命值还剩'+str(my_life))            print('===========================')
    #打印最终战果        
if my_life > 0 and you_life <= 0:  
    
my_win +=1   #我赢就加一分  

print('敌人死翘翘了,你赢了!')     

elif my_life <= 0 and you_life > 0:            you_win +=1            
print('悲催,敌人把你干掉了!')        else:            
print('哎呀,你和敌人同归于尽了!')
    if my_win > you_win:        time.sleep(1.5)       
print('行吧,最后还是你赢了')    
elif you_win>my_win:        print('最后你输了')    
else:        
print('最后平局')
if end=='退出':   #注意缩进!    

#返回最开始的询问,输入的是退出,会自动再来一句后直接结束整个游戏        
break

划重点!

一定要注意代码的 缩进!缩进!缩进!

尤其是嵌套函数中一层套一层的缩进!

时刻牢记 缩进字符!

小技巧:代码很简单,关键在你能不能先用汉语构建一个框架,当你用汉语把一个小游戏写出来后,再分别套入相关的函数代码,就会容易很多。

举个简单的例子:

1、游戏循环三遍,有限循环用for循环

2、需要两个人,你的生命值和攻击是多少,我的生命值和攻击是多少

3、直接打印,打印中输入手动计算出的生命值,直到为0

把这个例子对应到最开始的for循环中,你看看是不是会更容易理解

扫码关注公众号【桥南有料】

内含风变的学习笔记,并且也会持续更新学习笔记和心得,目前已更新到第8关!

a4beffc6e7d5398d4a96abac0761e2fa.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值