3

Python 小项目实战了解一下?

 3 years ago
source link: http://www.justdopython.com/2021/01/08/Python-project-actual/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Python 小项目实战了解一下?

发表于 2021-01-08

| 分类于 Python 小项目实战了解一下?

最近无论是北方还是南方都迎来了强冷空气的袭击,北风呼呼吹,我所在的城市这两天则可随处溜冰,城市道路结冰橙色预警,全省交通到处管制、小学幼儿园停课休息;上班路上的行人则是小心翼翼怕摔跤;老家韭菜坪的风景更美,给大家来带张照片感受感受:

言归正传,今天的文章来点有趣的小项目实战,希望给繁忙工作中的朋友们减减压,也给这个严冬增添几分暖色;详细项目请见后文。

用 Python 画彩虹线

用 Python turtle 画个转圈圈的彩虹线,实现思路如下:

# 导入 turtle 包
import turtle
# 打开画笔
q = turtle.Pen()
# 设置背景颜色
turtle.bgcolor("white")
sides = 7

# 设置彩虹线
colors =["red","orange","yellow","green","cyan","blue","purple"]
for x in range(360):
     q.pencolor(colors[x % sides])
     q.forward(x*3 / sides+x)
     q.left(360 / sides+1)
     q.width(x * sides/200)

实现结果如下:

用 Python 实现有趣的图片转字符游戏

实现思路如下:

#用 Python 实现图片转字符
from PIL import Image
import os

#设置参数输入像素的灰度值
def g2s(gray):
    pixel_str='''$#%@&MNBEFRWYLIkbtj?*984532menocvzst{}[]1|()<>=+~-;:i^"'. '''
    length=len(pixel_str)
    # 字符之间的灰度区间
    plus=255/length
    # str_gray表示字符所代表的灰度值
    str_gray=0
    for i in range(length):
        str_gray = str_gray + plus
        if gray <=str_gray:
            return pixel_str[i]

def img2str(img_path,save_path,num=0):
    txt_path=os.path.join(save_path,'img.txt')
    f=open(txt_path,'w')
    f.write('')
    # 因为此目录有可能已有内容,所以先清空
    f.close()
    # a表示在文件的末尾添加
    f=open(txt_path,'a')

    # 因为有些图片尺寸过于大,所以添加了一个修改大小的功能
    im=Image.open(img_path)
    if num==0:
        pass
    else:
        im=im.resize( ( int(im.size[0]/num),int(im.size[1]/num) ) )

    # 直接将图片转换成灰度模式
    im=im.convert('L')
    for y in range(im.size[1]):
        for x in range(im.size[0]):
            s=g2s(im.getpixel((x,y)))
            f.write(s)
        f.write('\n')
    f.close()

if __name__=='__main__':
    img2str(r'test.jpg', r'D:\Python_test', 4)

测试图片:

实现效果如下:

今天的文章主要是使用 Python 实现小项目减减压,希望对大家有所帮助!

示例代码 Python 小项目实战了解一下?

欢迎订阅 Python 技术,这里分享关于 Python 的一切。

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK