t.goto(0, 0)
t.down()
t.seth(45)
t.fd(120)
t.circle(50, 225)
t.seth(90)
t.circle(50, 225)
t.fd(120)
def draw_arrow():
t.up()
t.seth(0)
羽毛
t.goto(-210, 40)
t.pendown()
t.goto(-215, 44)
t.goto(-190, 49)
t.goto(-175, 46)
t.up()
t.goto(-210, 40)
t.pendown()
t.goto(-213, 34)
t.goto(-185, 39)
t.goto(-175, 46)
t.up()
箭杆
t.pendown()
t.goto(0, 80)
t.penup()
t.goto(160, 110)
t.pendown()
t.goto(320, 140)
箭羽
t.left(160)
t.begin_fill()
t.fd(10)
t.left(120)
t.fd(10)
t.left(120)
t.fd(10)
t.end_fill()
if name == ‘main’:
init()
draw_heart_right()
draw_heart_left()
draw_arrow()
t.hideturtle()
t.done()
2) 效果
有没有被笔芯骗到的,哈哈,其实这个才是效果。
这个是一个作死的弹窗的小玩意,你想弹到死机的话,把数值改成 成千上万就好了,当然正常人不会这么干~
1) 代码
import tkinter as tk
import random
import threading
import time
def dow():
window = tk.Tk()
width=window.winfo_screenwidth()
height=window.winfo_screenheight()
a=random.randrange(0,width)
b=random.randrange(0,height)
window.title(‘520快乐’)#弹窗的名字,都可以修改的
window.geometry(“200x50”+“+”+str(a)+“+”+str(b))#弹窗大小,不建议修改
tk.Label(window,
text=‘520快乐!’, # 标签的文字,随便改
bg=‘Red’, # 背景颜色
font=(‘楷体’, 17), # 字体和字体大小
width=15, height=2 # 标签长宽
).pack() # 固定窗口位置
window.mainloop()
threads = []
for i in range(100):#需要的弹框数量,别太多了,电脑不好的话怕你死机
t = threading.Thread(target=dow)
threads.append(t)
time.sleep(0.1)
threads[i].start()
效果就不展示了,大家自己去试试。
有没有直接从目录点到这的,不老实~
既然你们都看到这了,我就额外加点东西,当做福利了,至于代码是什么内容,大家自行运行,不要过于关注代码里的网站。
1) 代码展示
import requests
import parsel
import time
‘’’
https://www.tupianzj.com/meinv/20200728/214746.html
‘’’
url = ‘https://www.tupianzj.com/meinv/mm/meizitu/’
headers = {
‘user-agent’: ‘Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36’
}
response = requests.get(url, headers=headers)
response.encoding = response.apparent_encoding
selector = parsel.Selector(response.text)
lis = selector.css(‘.zt_con_img ul li a::attr(href)’).getall()
for li in lis:
index = ‘https://www.tupianzj.com’ + li
list_url = index.split(‘.’)
a = list_url[0:3]
new_url = ‘.’.join(a)
for page in range(2, 9):
time.sleep(1)
url = ‘{new_url}_{page}.html’.format(new_url=new_url, page=page)
headers = {
‘user-agent’: ‘Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36’
}
print(url)
try:
response = requests.get(url, headers=headers)
response.encoding = response.apparent_encoding
print(response.text)
selector = parsel.Selector(response.text)
img_name = selector.css(‘#container > div > div > div:nth-child(3) > h1::text’).get()
img_url = selector.css(‘#bigpic img::attr(src)’).get()
print(img_name)
print(img_url)
response_img = requests.get(img_url)
with open(img_name + ‘.jpg’, mode=‘wb’) as f:
f.write(response_img.content)
except Exception as e:
print(e)
观众:本来好好的来看表白的,结果你加这么一个爬虫代码进来,加的好,下次多加点。
嗨,醒醒,继续表白,别回味上一条了。
这是一个悲伤的代码,80%的人估计都实现不了,第一个要求就是要女神的照片,不过大家不怕被打的话,可以当面光明正大的拍几张~
1) 准备工作
本回对于零基础来说有点复杂,不慌,我们慢慢来。
我们创建一个文件夹命名为lyf,把准备好的女神照片放进去,照片都改成.jpg格式的,序号排序一下。
创建一个520样式的模板文件,新建txt文件把下面这个放进去。
520
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0
0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0
0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0
0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,1,0,0,0,1,0
0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0
0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0
0,1,1,1,1,1,0,0,1,1,1,1,1,0,0,1,1,1,1,1,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
name
0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,1,1,1,0,0
0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0
0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,1,0,0
0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0
0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0
0,0,1,1,1,1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
然后改名为1.tmp,再新建一个文件夹命名为 templates ,把保存好的模板放进去。
2) 代码展示
主程序代码
‘’’
‘’’
import os
import argparse
from PIL import Image
‘’‘一些超参’‘’
CELLSIZE = 64
‘’‘图片读取’‘’
def readImage(img_path, target_size=(64, 64)):
img = Image.open(img_path)
img = img.resize(target_size)
return img
‘’‘图片生成器’‘’
def yieldImage(target_dir, idx, target_size):
img_paths = sorted([os.path.join(target_dir, imgname) for imgname in os.listdir(target_dir)])
idx = (idx + 1) % len(img_paths)
return readImage(img_paths[idx], target_size), idx
‘’‘解析模板’‘’
def parseTemplate(template_path):
template = []
with open(template_path, ‘r’) as f:
for line in f.readlines():
if line.startswith(‘#’):
continue
template.append(line.strip(‘\n’).split(‘,’))
return template
‘’‘主函数’‘’
def main(pictures_dir, template_path):
template = parseTemplate(template_path)
w = len(template[0])
h = len(template)
image_new = Image.new(‘RGBA’, (CELLSIZEw, CELLSIZEh))
img_idx = -1
for y in range(h):
for x in range(w):
if template[y][x] == ‘1’:
img, img_idx = yieldImage(pictures_dir, img_idx, (CELLSIZE, CELLSIZE))
image_new.paste(img, (xCELLSIZE, yCELLSIZE))
image_new.show()
image_new.save(‘picturewall.png’)
‘’‘run’‘’
if name == ‘main’:
parser = argparse.ArgumentParser(description=“Picture Wall Generator.”)
parser.add_argument(‘-t’, dest=‘template_path’, help=‘Template path.’, default=‘templates/1.tmp’)
parser.add_argument(‘-p’, dest=‘pictures_dir’, help=‘Pictures dir.’, default=‘lyf’)
args = parser.parse_args()
template_path = args.template_path
pictures_dir = args.pictures_dir
main(pictures_dir, template_path)
再创建一个py文件,名字改成 rename.py
这一步是读取我们准备好的照片
import os
target_path = ‘lyf’
for idx, each in enumerate(os.listdir(target_path)):
os.rename(os.path.join(target_path, each), os.path.join(target_path, ‘%s.jpg’ % idx))
不给你们看效果,自己去运行,除非你们把写好的女神都运行给我看看,哈哈~
这玩意抖音发的挺多的,感觉你们都看过,不过没关系,我还是要分享给你们。
1) 准备工作
首先得准备好这些文件
你要什么内容都可以自己随便整一个,名字命名跟我一样就行了,免得后面还得改代码。
这是我的字体
这是我的图片
音乐的话我也展示不了,这个是最随便的,你只要把名字改成bgm.mp3 就行了。
2) 代码
配置文件
新建一个py文件命名为cfg.py
import os
窗口大小(width, height)
SCREENSIZE = (500, 260)
定义一些颜色
RED = (255, 0, 0)
BLACK = (0, 0, 0)
AZURE = (240, 255, 255)
WHITE = (255, 255, 255)
MISTYROSE = (255, 228, 225)
PALETURQUOISE = (175, 238, 238)
PAPAYAWHIP = (255, 239, 213)
LIGHTGRAY = (211, 211, 211)
GAINSBORO = (230, 230, 230)
WHITESMOKE = (245, 245, 245)
DARKGRAY = (169, 169, 169)
BLUE = (0, 0, 255)
DEEPSKYBLUE = (0, 191, 255)
SKYBLUE = (135, 206, 235)
LIGHTSKYBLUE = (135, 206, 250)
背景音乐路径
BGM_PATH = os.path.join(os.getcwd(), ‘resources/music/bgm.mp3’)
字体路径
FONT_PATH = os.path.join(os.getcwd(), ‘resources/font/STXINGKA.TTF’)
背景图片路径
BG_IMAGE_PATH = os.path.join(os.getcwd(), ‘resources/images/bg.png’)
ICON路径
ICON_IMAGE_PATH = os.path.join(os.getcwd(), ‘resources/images/icon.png’)
主程序代码
import sys
import cfg
import random
import pygame
from tkinter import Tk, messagebox
‘’’
Function:
按钮类
Initial Args:
–x, y: 按钮左上角坐标
–width, height: 按钮宽高
–text: 按钮显示的文字
–fontpath: 字体路径
–fontsize: 字体大小
–fontcolor: 字体颜色
–bgcolors: 按钮背景颜色
–is_want_to_be_selected: 按钮是否想被玩家选中
–screensize: 软件屏幕大小
‘’’
class Button(pygame.sprite.Sprite):
def init(self, x, y, width, height, text, fontpath, fontsize, fontcolor, bgcolors, edgecolor, edgesize=1, is_want_to_be_selected=True, screensize=None, **kwargs):
pygame.sprite.Sprite.init(self)
self.rect = pygame.Rect(x, y, width, height)
self.text = text
self.font = pygame.font.Font(fontpath, fontsize)
self.fontcolor = fontcolor
self.bgcolors = bgcolors
self.edgecolor = edgecolor
self.edgesize = edgesize
self.is_want_tobe_selected = is_want_to_be_selected
self.screensize = screensize
‘’‘自动根据各种情况将按钮绑定到屏幕’‘’
def draw(self, screen, mouse_pos):
鼠标在按钮范围内
if self.rect.collidepoint(mouse_pos):
–不想被选中
if not self.is_want_tobe_selected:
while self.rect.collidepoint(mouse_pos):
self.rect.left, self.rect.top = random.randint(0, self.screensize[0]-self.rect.width), random.randint(0, self.screensize[1]-self.rect.height)
pygame.draw.rect(screen, self.bgcolors[0], self.rect, 0)
pygame.draw.rect(screen, self.edgecolor, self.rect, self.edgesize)
鼠标不在按钮范围内
else:
pygame.draw.rect(screen, self.bgcolors[1], self.rect, 0)
最后
Python崛起并且风靡,因为优点多、应用领域广、被大牛们认可。学习 Python 门槛很低,但它的晋级路线很多,通过它你能进入机器学习、数据挖掘、大数据,CS等更加高级的领域。Python可以做网络应用,可以做科学计算,数据分析,可以做网络爬虫,可以做机器学习、自然语言处理、可以写游戏、可以做桌面应用…Python可以做的很多,你需要学好基础,再选择明确的方向。这里给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
👉Python所有方向的学习路线👈
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
👉Python必备开发工具👈
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
👉Python全套学习视频👈
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
👉实战案例👈
学python就与学数学一样,是不能只看书不做题的,直接看步骤和答案会让人误以为自己全都掌握了,但是碰到生题的时候还是会一筹莫展。
因此在学习python的过程中一定要记得多动手写代码,教程只需要看一两遍即可。
👉大厂面试真题👈
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!