Python百日百行代码挑战-day4,游戏模块预习(time,random,copy,keyword,pickle)

最近一直在提升python基础,感觉写一些小游戏对于提升python大概比较有帮助,这里就对一些游戏中常用的模块进行学习,同时放出自己练习的代码,以后写游戏的时候复习用

time模块

如其名,一个和时间相关的模块,感觉内容啥的还是挺简单的

time函数

返回当前时间(现在是时间减去计算机元年的时间,得到的那个结果)
计算机元年:1970年1月1日0时0分0秒
举例:

def timetake(a):
    time1 = time.time()
    for i in range(a):
        pass
    time2 = time.time()
    print('{}'.format(time2-time1))

timetake(2000)

# 运行结果为:9.107589721679688e-05,你也可以直接time.time()查看一下

asctime函数

# 函数的作用是显示日期,无参数代表显示当前日期
time.asctime()  #不放运行结果了,反正会显示你当前运行的时间,显示的东西为,星期几,月份,日期,具体时间,年份

a = (2022,8,15,16,36,21,4,0,0)
# 参数意义:
# 2022:2022年
# 8:8月
# 15:15日
# 16:16时
# 36:36分
# 21:21秒
# 4:星期5,0代表星期一
# 0:一年中的第几天,0代表占位符
# 0:是否使用夏令时间,0=不是,1=是
time.asctime(a)

#也可以这样加个参数进去,运行结果为:'Fri Aug 15 16:36:21 2022'

localtime函数

这个函数感觉和上面那个函数一样啊,没啥区别啊

time.localtime()   #运行出的结果和上面那些个参数一个意思,顺序都一样,也是显示当前日期的意思

b = time.localtime()
b1 = b[0]
b2 = b[1]
b3 = b[2]
print(b1,b2,b3)   #这部分就是获取年月日,可以运行着玩一下

sleep函数

让程序在运行的时候延迟一下,举例子:

for i in range(3):
    print('德玛西亚!')
    time11 = time.time()
    time.sleep(1)  #延迟1秒
    time22 = time.time()
    print(time22-time11)

运行结果为:
在这里插入图片描述

random模块

randint函数

这个函数的作用是生成随机数,用法是在括号里面加两个参数,生成的数字就在这两个之间,比如

random.randint(1,10)

# 这会生成随机数的范围就是[1,10)

这个东西其实还是挺有意思的,可以玩抖音上面那个数字炸弹(估计现在不火了吧已经)

# 模拟抖音上很火的数字炸弹的游戏
a = random.randint(1,50)
print("数字炸弹游戏开始:请你猜一个1到50之间的数字")
while True:
    test = int(input())
    if test > a:
        print("有点大,往小了猜")
        continue
    elif test < a:
        print("有点小,猜大点")
        continue
    else:
        print("恭喜你,炸弹爆炸,你被炸麻了")
        break

# 这个程序运行结果太随机了,自己玩玩就行,不放我的运行结果了

choice函数

如其名,选择函数,太简单了直接举例子吧

gamesetting = ['7 days to die','ARK','cfhd','csgo']
print(random.choice(gamesetting))

# 运行的话就会从这4个里面随便选择一个然后输出

shuffle函数

这个函数我感觉还是很实用的,之前做八皇后问题作业的时候,就用到过这个东西生成八皇后的初始状态。函数的作用是打乱样本,感觉在游戏里面比较常见的就是挖坑或者斗地主的时候洗牌用的,举个例子:

ord = np.zeros((1000,8))
original = [1,2,3,4,5,6,7,8]
for i in range(1000):
    random.shuffle(original)
    ord[i,:] = original

print(ord)

运行结果:
在这里插入图片描述
这里记录一下我的踩坑代码

print(random.shuffle(original))  # 会返回None,这个函数只能用作打乱,不能打印啥的,就直接使用就行,挺好的

copy模块

copy函数

复制的作用。万物皆可复制。

hero1 = {'name':'盖伦','blood':'1000','speed':'347'}
hero2 = copy.copy(hero1)
print(hero2)

结果:
在这里插入图片描述

keyword模块

iskeyword函数

这个函数是查看你输入的字符是不是关键词,例子和后面的一起写吧

kwlist函数

这个函数是查看所有的关键词,例子如下:

a = 1
print(keyword.iskeyword('a'))  # 结果False
print(keyword.iskeyword('for'))   # 结果True
print(keyword.iskeyword('demaxiya'))   # 结果False

print(keyword.kwlist)

在这里插入图片描述

pickle模块

hero1 = {'name':'盖伦','blood':'1000','speed':'347'}

file1 = open('Gaylen.dat','wb')
pickle.dump(hero1,file1)  # 保存文件
file1.close

file2 = open('Gaylen.dat','rb')
test_data = pickle.load(file2)   # 读取文件
file2.close()

print(test_data)

可以看到文件已经生成了
在这里插入图片描述
读取也十分顺利
在这里插入图片描述

结语

今日份的学习就到这里,接下来我会自己练习一部分,凑够百行代码

防火防盗防诈骗

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值