这是Python字典的popitem()方法效果演示程序,收录在我的精灵宝典里。程序运行后会有一个字典显示在窗口内,按空格键它会弹出一对键值对。
这是程序运行结果:
讲解网址是: https://www.douyin.com/discover?modal_id=7079023292513914143
下面是所有代码,想捡漏赶快复制代码,万一有一天我改变主意了呢?
""" 字典弹弹弹.py Python字典的popitem()效果演示程序 本程序需要sprites和gameturtle模块运行,请用cmd打开管理员窗口, 输入pip install sprites和pip install gameturtle进行安装. """ from time import sleep from random import randint from gameturtle import single2multitext from sprites import Sprite,txt3image,Key,Screen screen = Screen() screen.setup(660,660) screen.title('字典弹弹弹_字典的popitem()效果演示程序by李兴球') ftb = ('黑体',64,'normal') ftm = ('黑体',34,'normal') fts = ('黑体',16,'normal') sleep(1.3) kv = Sprite('blank')# kv不仅用来写文字,下面还会通过切换造型显示弹出去的键值对 kv.color('orange') kv.goto(-250,230) kv.write('字',align='center',font=ftb) sleep(0.5) kv.goto(250,230) kv.write('典',align='center',font=ftb) sleep(0.5) kv.goto(0,-200) kv.write('弹 弹 弹',align='center',font=ftm) sleep(0.5) kv.goto(0,-240) kv.write('字典.popitem()效果演示程序',align='center',font=fts) sleep(0.5) kv.goto(0,-270) kv.write('作者:李兴球',align='center',font=fts) sleep(0.5) kv.goto(0,-300) kv.write('基于Python海龟模块的创作',align='center',font=fts) sleep(0.5) colors = {'red':'红','orange':'橙','yellow':'黄','green':'绿', 'cyan':'青', 'blue':'蓝','purple':'紫','black':'黑','white':'白','gray':'灰'} s = single2multitext(str(colors),58) # 单行变多行,每行58字 s = "colors = " + s txt3image(s,'res/zd.png') # s变成图像 zd = Sprite('res/zd.png') # 把文本转换成的图像,再包装成角色叫zd # 出场就来一个抖动效果 for _ in range(randint(12,24)): zd.addx(randint(-5,5)) sleep(0.01) zd.addy(randint(-5,5)) sleep(0.01) zd.home() spacekey = Key('space') # 新建按键,空格键 screen.listen() # 监听按键检测 while colors: # 当colors非空时 # 写提示语 kv.shape('blank') kv.sety(150) kv.write('请按空格键',align='center',font=('',16)) # 写上提示 while not spacekey.downup():screen.update()# 没按空格键时不断刷新屏幕 kv.clear() # 按了空格键后清除所写的 kv.sety(0) # 设定它的y坐标为0 # 抖动效果 for _ in range(randint(6,10)): zd.addx(randint(-5,5)) sleep(0.01) zd.addy(randint(-5,5)) sleep(0.01) zd.home() # 按空格键后弹出一对键值对,注意字典数据变少,所以要重新设定zd的造型 key,value = colors.popitem() # 弹出键值对 s = single2multitext(str(colors),58) # 字典单行变多行 s = "colors = " + s txt3image(s,f'res/zd{key}_{value}.png') # 多行文本转图像 zd.shape(f'res/zd{key}_{value}.png') # 重设为此造型 # 弹出去的键值对,组成元组,转换成图像,再包装成角色,滑行出去 s = "colors.popitem() 返回: ('" + str(key) + "','" + str(value) + "')" # 弹出去的文本 txt3image(s,f'res/poped{key}_{value}.png') # 把s转成图像 kv.shape(f'res/poped{key}_{value}.png') # 把kv的造型设为这个图 kv.slide((0,150)) # 滑行到0,150 kv.wait(2) # 等待2秒 kv.slide((0,550),1000) # 1秒内滑出去 screen.mainloop()