极具创意的万圣节捣蛋作品?
(Python小学员贡献)
Trick or treat? 不给糖果就捣蛋!
哈喽,大家好,万圣节快乐呀?
每到节日,我们的老师们都要抓耳挠腮?,这次写点什么好,蹭一波啥流量,怎样吸引大家“阅读评论点赞打赏转发?”,甚至报名来上我们有趣又充满挑战的Python编程课??。
不过这一次,我们终于不用操心了?,因为我们收到了一个Python小学员的真实作品?,名字叫“万圣节的作业-梁彭嘉”。无论是思路和创意?都非常的棒,所以我们临时决定,选用这个作品作为这期FunPy101的推文?
事情的背景是这样滴~
周一的晚上?,我们的老师正在积极备课✍,突然我们收到一条消息?
?:老师老师,这是我上周用判断语句写的作业,请过目?
??:收到?
?:老师,你可以先运行看看游戏效果?
??:好的。
于是,我们毫无戒备的双击打开了代码文件。游戏好像确实做的还不错呢✨
可是玩着玩着,咋的。。这节奏不对啊。。。Windows将在6分钟关闭是怎么回事?
咋还开始倒计时了呢⏳,玩定时炸弹呐?,我们做了一半的课件啊喂!!!??
得了,梁同学,算你赢了?
可我们不能白受害,我们必须要来揭露你的这段邪恶代码!
好让更多的孩子学会这个捣蛋技能欺负他们的爸爸妈妈?
代码大揭秘?
下面就让我们把这些代码一行行的扒出来?
首先是开篇的两行代码
import timeimport os
分别引入了python内置的两个工具包?
这个time
不用说一定是用来控制游戏停顿效果的⏯,而这个os
一看就不是什么好东西,它是英文Operating System
,即“操作系统”的缩写,顾名思义,它里头有很多操控?电脑的办法,一会我们就会见到。
⏬⏬⏬
接下去呢,有几句用来迷惑对手的话语?
print("老师,万圣节快乐~")time.sleep(1)print("接下去我们来玩个游戏")
⏬⏬⏬
接着套路来了,他使用了一招循环?大法,让我玩个永无休止的游戏。他问我,你是给糖?呢还是让我捣蛋?呢?
while True: choice = input("不给糖就捣蛋,Trick (1) or Treat (2)? >>> ")
⏬⏬⏬
如果你选择给糖,恭喜你?,他会不依不饶的继续纠缠你?
if choice == "2": print("谢谢你的糖果,再来一次") time.sleep(1)
⏬⏬⏬
你如果实在烦了,输入了别的⌨,那么好吧,他会假装放过你,然后问你一句有的没的?
else: print("好吧,不玩了,谢谢你的糖果。。") time.sleep(1) shut_down = input("对了老师,请问你的幸运数字是多少?>>> ") time.sleep(1)
⏬⏬⏬
在你放松警惕,透露了自己的幸运数字?之后,噩梦就来了。你的数字会被当作关机倒计时⏳。如果你不小心写了1️⃣,那么恭喜你,这意味着留给你保存工作文件的时间就只有一分钟了。
print("Bazinga! 你上当了,倒数{}分钟".format(shut_down))time.sleep(1)os.system("shutdown -s -t {}".format(int(shut_down)*60))print("Bye Bye @~@")time.sleep(100)break
这里最最关键?的要数这第三行代码了,它调用了windows命令提示符里的关机指令?,shutdown -s
代表关机,-t
是定时 ?,后面的大括号里可以填一个数字,代表多少秒之后关机。
所以聪明的梁同学巧妙地使用了之前获得的幸运数字,再把它乘以60,就能准确的以幸运数字为所代表的分钟数进行倒计时了(坏得很呐?)。
?注意,如果你们不知道.format是什么意思,你可以把它想象成python字符串的替身术,作用就是用.format括号()里的东东替换字符串里的大括号{}
⭐那么以上就是全部的捣蛋代码了,让我们再来回顾它的效果运行效果。
好啦,现在你应该学会了如何用它来捣蛋了吧。让我们再次感谢梁同学贡献的代码和满分的创意?
这里是趣派编程,教孩子编程能做哪些有趣的事情,咱们下期见!
善良的我们还是忍不住分享一颗解药?,使用“shutdown -a”,可以阻止这个关机程序。