IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 这年头写python代码庆祝生日成为时髦~ -> 正文阅读

[Python知识库]这年头写python代码庆祝生日成为时髦~

明天就是大年初四,我妈生日,作为一位学过python编程的新时代精神小伙,我要写代码当礼物!

代码的核心思想是用pyautogui记录鼠标坐标并控制鼠标在画图软件上写字,有数控板的话写字会更好看!

**

第一章 收集数据

**

import json
import time
import pyautogui

MyPositionList1 = []
MyPositionList2 = []
MyPositionList3 = []
MyPositionList4 = []
MyPositionList5 = []
for i in range(3):
    print(3-i)
    time.sleep(1)

#I
print("I")
for i in range(130):
    MyPositionX,MyPositionY = pyautogui.position()
    MyPosition = (MyPositionX, MyPositionY)
    MyPositionList1.append(MyPosition)
    time.sleep(0.01)
print(MyPositionList1)

for i in range(3):
    print(3-i)
    time.sleep(1)

#love
print("love")
for i in range(270):
    MyPositionX, MyPositionY = pyautogui.position()
    MyPosition = (MyPositionX, MyPositionY)
    MyPositionList2.append(MyPosition)
    time.sleep(0.01)
print(MyPositionList2)

for i in range(3):
    print(3-i)
    time.sleep(1)

#you
print("you")
for i in range(270):
    MyPositionX, MyPositionY = pyautogui.position()
    MyPosition = (MyPositionX, MyPositionY)
    MyPositionList3.append(MyPosition)
    time.sleep(0.01)
print(MyPositionList3)

#爱心
print("左")
for i in range(100):
    MyPositionX, MyPositionY = pyautogui.position()
    MyPosition = (MyPositionX, MyPositionY)
    MyPositionList4.append(MyPosition)
    time.sleep(0.01)
print(MyPositionList4)

print("右")
for i in range(100):
    MyPositionX, MyPositionY = pyautogui.position()
    MyPosition = (MyPositionX, MyPositionY)
    MyPositionList5.append(MyPosition)
    time.sleep(0.01)
print(MyPositionList5)
print('over')

with open('PositionFile1.json', 'w') as f:
    json.dump(MyPositionList1, f)
with open('PositionFile2.json', 'w') as f:
    json.dump(MyPositionList2, f)
with open('PositionFile3.json', 'w') as f:
    json.dump(MyPositionList3, f)
with open('PositionFile4.json', 'w') as f:
    json.dump(MyPositionList4, f)
with open('PositionFile4.json', 'w') as f:
    json.dump(MyPositionList5, f)

有时间空余挪鼠标,照着提示拿鼠标画就好了。

*不过代码属实太多,一点也不精简,由于有大量基本重复内容,我们用函数解决。

import json
import time
import pyautogui
def collect(TheWordIWrite,WriteTime,FileName):
    for i in range(3):
        print(3-i)
        time.sleep(1)
    MyPositionList = []
    print(TheWordIWrite)
    for i in range(WriteTime):
        MyPositionX, MyPositionY = pyautogui.position()
        MyPosition = (MyPositionX, MyPositionY)
        MyPositionList.append(MyPosition)
        time.sleep(0.01)
    print(MyPositionList)
    with open(FileName, 'w') as f:
        json.dump(MyPositionList, f)
collect("I", 130, "PositionFile1.json")
collect("love", 270, "PositionFile2.json")
collect("you", 270, "PositionFile3.json")
collect("左", 110, "PositionFile4.json")
collect("右", 110, "PositionFile5.json")

这样,比第一下好多了吧?

第二章 展示

import pyautogui
import json
import time

for i in range(3):
    print(3-i)
    time.sleep(1)


with open('PositionFile1.json', 'r') as f:
    poslist = json.load(f)
    print(poslist)
    print(type(poslist))
    for i in range(len(poslist)):
        print(poslist[i][0], poslist[i][1])
        pyautogui.mouseDown(poslist[i][0], poslist[i][1], button='left')
    pyautogui.mouseUp(poslist[i][0], poslist[i][1], button='left')

with open('PositionFile2.json', 'r') as f:
    poslist = json.load(f)
    print(poslist)
    print(type(poslist))
    for i in range(len(poslist)):
        print(poslist[i][0], poslist[i][1])
        pyautogui.mouseDown(poslist[i][0], poslist[i][1], button='left')
    pyautogui.mouseUp(poslist[i][0], poslist[i][1], button='left')

with open('PositionFile3.json', 'r') as f:
    poslist = json.load(f)
    print(poslist)
    print(type(poslist))
    for i in range(len(poslist)):
        print(poslist[i][0], poslist[i][1])
        pyautogui.mouseDown(poslist[i][0], poslist[i][1], button='left')
    pyautogui.mouseUp(poslist[i][0], poslist[i][1], button='left')
#换颜色,坐标要自己测试
pyautogui.mouseUp(836, 57, button='left')
pyautogui.mouseDown(836, 57, button='left')
pyautogui.mouseUp(836, 57, button='left')

with open('PositionFile4.json', 'r') as f:
    poslist = json.load(f)
    print(poslist)
    print(type(poslist))
    for i in range(len(poslist)):
        print(poslist[i][0], poslist[i][1])
        pyautogui.mouseDown(poslist[i][0], poslist[i][1], button='left')
    pyautogui.mouseUp(poslist[i][0], poslist[i][1], button='left')

with open('PositionFile5.json', 'r') as f:
    poslist = json.load(f)
    print(poslist)
    print(type(poslist))
    for i in range(len(poslist)):
        print(poslist[i][0], poslist[i][1])
        pyautogui.mouseDown(poslist[i][0], poslist[i][1], button='left')
    pyautogui.mouseUp(poslist[i][0], poslist[i][1], button='left')

点击运行后记得切到画图软件,或者可以记录图标坐标,自行打开

不过同理很多废话,用函数精简~

import pyautogui
import json
import time
for i in range(3):
    print(3-i)
    time.sleep(1)
def show(file):
    with open(file, 'r') as f:
        poslist = json.load(f)
        print(poslist)
        print(type(poslist))
        for i in range(len(poslist)):
            print(poslist[i][0], poslist[i][1])
            pyautogui.mouseDown(poslist[i][0], poslist[i][1], button='left')
        pyautogui.mouseUp(poslist[i][0], poslist[i][1], button='left')
show("PositionFile1.json")
show("PositionFile2.json")
show("PositionFile3.json")
pyautogui.mouseUp(836, 57, button='left')
pyautogui.mouseDown(836, 57, button='left')
pyautogui.mouseUp(836, 57, button='left')
show("PositionFile4.json")
show("PositionFile5.json")

nice! 看看效果

**

第三章 成品

**

咳咳,内噶,鼠标属实不好写字画画。
在这里插入图片描述
或许你可以加粗笔让它看起来更好看,这就给大家自己测试啦~

That’s all
Thank
You.

希望大家点赞鼓励一下~

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-02-04 10:59:51  更:2022-02-04 11:00:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:29:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码