有趣的python小程序

有趣的python小程序密码生成器x=int(input())print(”.join(__import__(‘random’).choice(‘QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm!@#$%^&*()_+=}{[]:;<,.&amp

大家好,又见面了,我是你们的朋友全栈君。

1.密码生成器

x=int(input())
print(''.join(__import__('random').choice('QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm!@#$%^&*()_+=}{[]:;<,.>?/1234567890') for i in range(x)))

运行结果:

16
IMHxl0+I_u8%)NnF

2.时光机

import time
import datetime
import sys
print('输入指定日期即可穿越(只能到未来)'"\n"'请输入目标年月日:')
y=int(input('年'))
m=int(input('月'))
d=int(input('日'))
sj=str(y)+' '+str(m)+' '+str(d)
d1=datetime.datetime(y,m,d)
print('启动中,还需要')
while True:
   d2=datetime.datetime.now()
   sec=round((d1-d2).total_seconds())
   op=[int(sec/86400),'天',int((sec-int(sec/86400)*86400)/3600),'小时',int((sec-int(sec/3600)*3600)/60),'分',int((sec-int(sec/60)*60)),'秒']
   nn=(''.join('%s' %id for id in op))
   sys.stdout.write("\r%s"%nn)
   sys.stdout.write('即可启动')
   sys.stdout.flush()
   time.sleep(1)

运行结果:

输入指定日期即可穿越(只能到未来)
请输入目标年月日:
年201895
启动中,还需要
61小时553秒即可启动

3.QQ群机器人
需安装qqbot模块,图灵机器人最好自己申请一个。
@机器人可以聊天,两个空格再加文本可自动翻译

import urllib.parse
import urllib.request
import requests,json
from qqbot import QQBotSlot as qqbotslot,RunBot

@qqbotslot
def onQQMessage(bot,contact,member,content):
	def save(name,content):
		with open(name, 'w') as f:
			f.write(content)
	def tuling(info):
		url = 'http://www.tuling123.com/openapi/api?key=d846628468214520b1047b1ed0038fb1'+'&info='+info
		res = requests.get(url)
		res.encoding = 'utf-8'
		jd = json.loads(res.text)
		return jd['text']

	if '@ME' in content or '@Fabot' in content:#Fabot是我给机器人起的名字
		bot.SendTo(contact,tuling(content[4:]))
	if(content[0]==' '):
		url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&sessionFrom=http://fanyi.youdao.com/'
		data = { 
   
			'i': content[1:],
			'doctype': 'json',
		}
		data=urllib.parse.urlencode(data).encode('utf-8')
		response=urllib.request.urlopen(url,data)
		html=response.read().decode('utf-8')
		target=json.loads(html)
		bot.SendTo(contact,target['translateResult'][0][0]['tgt'])

RunBot()

运行结果:
在这里插入图片描述
4.弹钢琴

import winsound
tone={ 
   '1':532,'2':588,'3':660,'4':698,'5':784,'6':880,'7':988}
while True:
	winsound.Beep(tone[input()],300)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/149341.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 设计模式奠基石——UML关系转化为代码

    设计模式奠基石——UML关系转化为代码

    2021年11月16日
  • 视频直播之基础原理

    视频直播之基础原理SDK(SoftwareDevelopmentKit):软件开发工具包涉及的技术:采集处理编码封包推流播放RTMP(RealTimeMessagingProtocol,实时消息传送协议),是AdobeSystems公司为Flash播放器和服务器之间音频、视频和数据传输开发的开放协议。优点:主流CDN支持,市面上绝大多数的直播产品采用;协议简单易实现缺点:基于…

  • 序列化和反序列化的底层实现原理是什么?

    序列化和反序列化的底层实现原理是什么?序列化和反序列化作为Java里一个较为基础的知识点,大家心里也有那么几句要说的,但我相信很多小伙伴掌握的也就是那么几句而已,如果再深究问一下Java如何实现序列化和反序列化的,就可能不知所措了!遥记当年也被问了这一个问题,自信满满的说了一大堆,什么是序列化、什么是反序列化、什么场景的时候才会用到等,然后面试官说:那你能说一下序列化和反序列化底层是如何实现的吗?一脸懵逼,然后回家等通知!一、…

  • Vue双向绑定原理

    Vue双向绑定原理vue的双向绑定原理:vue数据的双向绑定是通过数据劫持结合发布者-订阅者模式的方式来实现的。其核心就是通过obj.defineProperty()方法来实现数据的劫持,在数据变化时发布消息给订阅者,触发相应的监听回调。也就是说数据和视图同步,数据发生变化,视图跟着变化,视图变化,数据也随之发生改变;简单介绍一下Object.defineProperty()方法:1、Object.defineProperty(obj,prop,descriptor),这个语法内有三个参数,分别为obj(要定

    2022年10月18日
  • Entity Framework 4 in Action读书笔记——第五章:域模型映射(Domain model mapping)(二)…

    Entity Framework 4 in Action读书笔记——第五章:域模型映射(Domain model mapping)(二)…

  • substring截取字符串特定位置的值

    substring截取字符串特定位置的值1、截取指定字符上的字符串:substring(start,end)start:开始的位置(从0开始索引)包括该位置的字符,不可省略end:结束的位置(不包括该位置上的字符),可省略例:Stringstr=“第1周”;str=str.substring(1,2);str此时里面就剩一个1了若start与end相等,那么返回的就是一个空串若start比end大…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号