Day.21天 python项目

学前分享:

很高兴大家坚持21天,

这里为大家分享一些常用有趣的案例(源码也有哦)

21天,

从入门到上手,

为坚持加油的自己点个赞吧。

 项目实操1、批量修改文件名2、发送邮件        --- 打卡领取 可配置。3、批量合成头像图片4、股票查询程序开发 --- 打卡领取5、抽奖程序(源码奉献)- 页面顺时针抽奖- 滚动抽奖

0、价值2亿的人工智能对话代码

 # !/usr/bin/env python# -*- coding:utf-8 -*-while True:print(input().strip("吗??")+"!")

1、Python批量修改文件名

 #!/usr/bin/env python# -*- coding:utf-8 -*-__author__ = 'JackFeng'#批量修改文件名#批量修改图片文件名#功能#以批量修改某文件夹下所有图片名称为例# 注释超详细,万能模板,读者可举一反三,适当修改模板,效果显著!import  osimport sysimport redef renameall():#filelist = os.listdir(r"文件所在路径") #待修改文件夹filelist = os.listdir(r"C:\\Users\\66860\\Desktop\\测试文件")print("修改前"+str(filelist)) #输出文件夹中包含的文件currentpath = os.getcwd() #得到进程当前工作目录os.chdir(r"C:\\Users\\66860\\Desktop\\测试文件")  #将当前工作目录修改为待修改文件夹的位置a=input("请输入你要更改的名称:" )num = 1  # 名称变量print(a)for fileName in filelist: #遍历文件夹中所有文件pat=".+\.(pdf|PDF)" #匹配文件名正则表达式 # 此处为修改pdf案例,故使用pdf格式pattern = re.findall(pat,fileName) #进行匹配# print(pattern)os.rename(fileName,(str(a)+str(num)+'.'+pattern[0])) #文件重命名num += 1 # 改变编号,继续下一项# os.rename(fileName, (str(a) + '.' + pattern[0]))print("=========---风-阶-限---===========")os.chdir(currentpath) #改回程序运行前的工作目录sys.stdin.flush() #刷新print("修改后:"+str(os.listdir(r"C:\\Users\\66860\\Desktop\\测试文件"))) #输出修改后文件夹中包含的文件print("==========--修改完成--===========")renameall()

3、批量合成头像

 #!/usr/bin/env python# -*- coding:utf-8 -*-__author__ = 'JackFeng'# @Time    : 2020/5/18 10:14# @Author  : JackFeng# @FileName: Photo.py# @Software: PyCharm# @Blog    :http://www.a2data.cn/import PIL.Image as Imageimport os# 定义初始图片的位置x = 0y = 0# 获取下载的头像文件curr_dir = "D://"ls = os.listdir(curr_dir + '1')print(ls)# 设定好友微信墙尺寸 Image.new() 方法。image = Image.new("RGB", (600, 600))# 打开微信好友图片  Image.open() 方法。# img = Image.open(r"D:/1/1.png")# 将微信头像重置为小图 使用 img.resize() 方法# img = img.resize((50, 50), Image.ANTIALIAS)#将照片 黏贴到我们的微信墙中  使用 image.paste() 方法。# image.paste(img, (x * 50, y * 50))#最后将制作完成的照片墙保存下来,使用 image.save() 方法。# img = image.save("D:\\1\\WeChat_Friends.jpg")# 遍历文件夹的图片for file_names in ls:print(file_names)try:# 依次打开图片img = Image.open(curr_dir + "1/" + file_names)print(img)except IOError:continueelse:# 重新设置图片的大小img = img.resize((150, 150), Image.ANTIALIAS)# 将图片粘贴到最终的照片墙上image.paste(img, (x * 100, y * 150))# 设置每一行排13个图像x += 1if x == 6:x = 0y += 1# 保存图片为WeChat_Friends.jpgimg = image.save(curr_dir + "WeChat_Friends.jpg")

4、抽奖中书籍

 #!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'Jack'
# @Time    : 2019/8/22 11:07
# @Author  : JackFeng
# @Software: PyCharm
# @Blog    :http://www.a2data.cn/class Luckgame:# 导入弹窗模块import tkinter.messagebox as mbox# 导入tkinterimport tkinter as tk# 导入线程模块import threadingimport timedef __init__(self):self.window = self.tk.Tk()self.window.title('DataScience-幸运抽奖')self.window.minsize(330, 330)# 设置初始变量# 设置界面self.set_label_btn()# 设置菜单self.set_menu()# 奖品列表self.gifts = [self.lab1, self.lab2, self.lab3, self.lab4, self.lab5, self.lab6, self.lab7, self.lab8, self.lab9,self.lab10, self.lab11, self.lab12]# #是否开启循环的标志# self.isloop = False# 是否终止转盘self.run_flag = Falseself.window.mainloop()# 设置菜单def set_menu(self):# 创建总菜单menubar = self.tk.Menu(self.window)# 创建一个下拉菜单,并且加入文件菜单filemenu = self.tk.Menu(menubar, tearoff=0)# 创建下来菜单的选项filemenu.add_command(label="退出游戏", command=self.window.quit)# print author的函数def show_author():self.mbox.showinfo(title='微信公众平台:DataScience', message='DataScience:Ai_Craziest')filemenu.add_command(label="作者", command=show_author)# 将文件菜单作为下拉菜单添加到总菜单中,并且将命名为操作menubar.add_cascade(label="操作", menu=filemenu)# 显示总菜单self.window.config(menu=menubar)def set_label_btn(self):self.lab1 = self.tk.Label(self.window, text='原则', bg='red')self.lab1.place(x=20, y=20, width=60, height=60)self.lab2 = self.tk.Label(self.window, text='Hive\n编程指南', bg='white')self.lab2.place(x=90, y=20, width=60, height=60)self.lab3 = self.tk.Label(self.window, text='IDEA\n操作手册', bg='white')self.lab3.place(x=160, y=20, width=60, height=60)self.lab4 = self.tk.Label(self.window, text='MySql\n必知必会', bg='white')self.lab4.place(x=230, y=20, width=60, height=60)self.lab5 = self.tk.Label(self.window, text='SQL\nCook', bg='white')self.lab5.place(x=230, y=90, width=60, height=60)self.lab6 = self.tk.Label(self.window, text='Python\nCook', bg='white')self.lab6.place(x=230, y=160, width=60, height=60)self.lab7 = self.tk.Label(self.window, text='Python\n机器学习', bg='white')self.lab7.place(x=230, y=230, width=60, height=60)self.lab8 = self.tk.Label(self.window, text='Python\n机器实训', bg='white')self.lab8.place(x=160, y=230, width=60, height=60)self.lab9 = self.tk.Label(self.window, text='大数据\n面试题', bg='white')self.lab9.place(x=90, y=230, width=60, height=60)self.lab10 = self.tk.Label(self.window, text='机器学习\n个人笔记', bg='white')self.lab10.place(x=20, y=230, width=60, height=60)self.lab11 = self.tk.Label(self.window, text='数据挖掘\n概念与技术', bg='white')self.lab11.place(x=20, y=160, width=60, height=60)self.lab12 = self.tk.Label(self.window, text='Handbook\n(原版)', bg='white')self.lab12.place(x=20, y=90, width=60, height=60)# 开始按钮self.btn_go = self.tk.Button(self.window, text='开始', command=self.start_stak)self.btn_go.place(x=90, y=125, width=50, height=50)# 停止按钮self.btn_stop = self.tk.Button(self.window, text='结束', command=self.stop_run)self.btn_stop.place(x=160, y=125, width=50, height=50)def run_gifts(self):# while循环计数用变量ii = 0# 循环所有label,依次改变label的颜色,将其变为红色while True:if self.run_flag:self.mbox.showinfo(title='感谢您对我的关注,温馨提示', message='DataScience:恭喜您获得:' + self.gifts[i - 1]['text'] + '电子版书籍')self.mbox.showinfo(title='如果对您有帮助,请点赞分享', message='请前往微信公众号:DataScience,领取属于您的奖品!!!')self.mbox.showinfo(title='如果对您有更多需要,请将此文分享到朋友圈', message='保留三小时以上截图哦,发送致DataScience后台,那么您可获取任意三本!!')self.mbox.showinfo(title='本公众号第一次小互动,感谢您的参与', message='谢谢您的参与,下期有你更精彩!!')# 是否循环转盘参数重置self.run_flag = Falsereturntry:# 添加一个延时操作self.time.sleep(0.1)# 循环所有label,将所有label的颜色变为白色for v in self.gifts:v['bg'] = 'white'self.gifts[i]['bg'] = 'red'i += 1# label组件计数归零if i >= len(self.gifts):i = 0except:passdef stop_run(self):self.run_flag = True# 开启线程,单独跑一个循环的函数def start_stak(self):# 新建线程tread = self.threading.Thread(target=self.run_gifts)# 开始线程tread.start()# #打开循环线程的标志# self.isloop = True# 调用Luckgame游戏对象nsf = Luckgame()

5、滚动抽奖篇

 #!/usr/bin/env python# -*- coding:utf-8 -*-__author__ = 'Jack'# @Time    : 2020/6/22 11:07# @Author  : JackFeng# @FileName: Lotto.py# @Software: PyCharm# @Blog    :http://www.a2data.cn/import sysif sys.version_info[0] == 2:import Tkinterfrom Tkinter import *else:import tkinter as Tkinterfrom tkinter import *import randomdata = ['Kath', '大枫', 'Jack', 'Shon','DuRuo']going = Trueis_run = Falsedef lottery_roll(var1, var2):global goingshow_member = random.choice(data)var1.set(show_member)if going:window.after(50, lottery_roll, var1, var2)else:var2.set('恭喜 {} !!!'.format(show_member))going = Truereturndef lottery_start(var1, var2):global is_runif is_run:returnis_run = Truevar2.set('幸运儿是你吗。。。')lottery_roll(var1, var2)def lottery_end():global going, is_runif is_run:going = Falseis_run = Falseif __name__ == '__main__':window = Tkinter.Tk()window.geometry('405x320+250+15')window.title('   DataScience   滚 动 抽 奖 器')bg_label = Label(window, width=70, height=24, bg='#ECf5FF')bg_label.place(anchor=NW, x=0, y=0)var1 = StringVar(value='即 将 开 始')show_label1 = Label(window, textvariable=var1, justify='left', anchor=CENTER, width=17, height=3, bg='#BFEFFF',font='楷体 -40 bold', foreground='black')show_label1.place(anchor=NW, x=21, y=20)var2 = StringVar(value='幸运儿是你吗。。。')show_label2 = Label(window, textvariable=var2, justify='left', anchor=CENTER, width=38, height=3, bg='#ECf5FF',font='楷体 -18 bold', foreground='red')show_label2.place(anchor=NW, x=21, y=240)button1 = Button(window, text='开始', command=lambda: lottery_start(var1, var2), width=14, height=2, bg='#A8A8A8',font='宋体 -18 bold')button1.place(anchor=NW, x=20, y=175)button2 = Button(window, text='结束', command=lambda: lottery_end(), width=14, height=2, bg='#A8A8A8',font='宋体 -18 bold')button2.place(anchor=NW, x=232, y=175)window.mainloop()

往期推荐

Day20.python操作数据库

Day19.python时间和日期

Day18.python文件/目录

Day17.String字符串处理库

Day16.文件的处理

Day15.异常的处理

Day14.模块&包

Day13.继承&多态

Day12.魔法方法&方法重写

Day11.类和对象这回事儿

Day10.高阶函数介绍

Day9.函数进阶

Day8.函数那些事儿

Day7.数据类型-集合

Day6.数据类型-字典

Day5.布尔&元组&字符串大合集

Day4.数据类型-列表

Day3.判断&循环语句

Day2.不就是运算符吗!

Day1.基本操作与格式规范

学Python的正确方式,100%有用!

昨天 今天 明天

前者为鉴

把握现在

开创未来

认识Python 2020.09.01

哎呦,我会文件处理咯 2020.09.18

2020.08.30 Python环境

2020.09.09 函数那些事

2020.09.23 操作一波数据库

恭喜完课

DATA SCIENCE

点个在看,你最好看

Day21.Python项目案例相关推荐

  1. python项目开发实战网盘-《Python项目案例开发从入门到实战》PDF版百度网盘

    「教程分享:Python项目开发从入门到实列」 本书例子具有实用性,20个不同类型的完整列子,600分钟高品质配套教学视频,完整的源码和教学课件,让你对枯燥的Python语言学习充满乐趣. 编辑推荐 ...

  2. python项目开发实例-《Python项目案例开发从入门到实战》PDF版百度网盘

    「教程分享:Python项目开发从入门到实列」 本书例子具有实用性,20个不同类型的完整列子,600分钟高品质配套教学视频,完整的源码和教学课件,让你对枯燥的Python语言学习充满乐趣. 编辑推荐 ...

  3. (第42册)Python项目案例开发从入门到实战——爬虫、游戏和机器学习(第2版) 夏敏捷 郑秋生 尚展垒著

    本书由Python基础开发入手,延伸至爬虫技术开发.游戏开发.人工智能开发.网络应用开发.图像处理和可视化开发6个Python经典开发方向: 全书共提供25个项目案例,以项目驱动方式展开各知识点的讲解 ...

  4. python项目开发实例-Python项目案例开发从入门到实战——爬虫、游戏

    资料简介: 本书以Python 3.5为编程环境,从基本的程序设计思想入手,逐步展开Python语言教学,是一本面向广大编程学习者的程序设计类图书.本书以案例带动知识点的讲解,将Python知识点分解 ...

  5. python项目案例开发pdf-Python项目案例开发从入门到实战——爬虫、游戏

    资料简介: 本书以Python 3.5为编程环境,从基本的程序设计思想入手,逐步展开Python语言教学,是一本面向广大编程学习者的程序设计类图书.本书以案例带动知识点的讲解,将Python知识点分解 ...

  6. python项目案例开发pdf-python项目开发案例锦集 pdf|消费金融公司概念股

    中国电建发起设立保险经纪公司,意在完美本身风险管理ppp项目 融资成本,项目融资尽职调查 这3项运转 义务 ,置信 时常看老炼文章的人都了如指撑,项目融资投标书,科研项目融资 相似的例子还有大参林,3 ...

  7. python创意实用案例-python实用案例

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! (python内部对异常已处理)1 class listiterator(obje ...

  8. python小项目案例-拯救Python新手的几个项目实战

    原标题:拯救Python新手的几个项目实战 Python 做小游戏 实例一:24点游戏 项目名称:经典趣味24点游戏程序设计(python) 实例二:五子棋游戏 python学习关注我们企鹅qun: ...

  9. python项目开发案例-Python项目开发案例集锦 PDF 全彩超清版

    给大家带来的一篇关于Python案例相关的电子书资源,介绍了关于Python.项目开发.Python案例方面的内容,本书是由吉林大学出版社出版,格式为PDF,资源大小99.1 MB,明日科技编写,目前 ...

  10. opencv 训练人脸对比_【项目案例python与人脸识别】基于OpenCV开源计算机视觉库的人脸识别之python实现...

    " 本项目是一个基于OpenCV开源库使用python语言程序实现人脸检测的项目,该项目将从[项目基础知识](即人脸识别的基本原理).[项目实践](人脸识别所需要的具体步骤及其python程 ...

最新文章

  1. C++实现直接插入排序
  2. 第一章:Java语言概述
  3. 容器编排技术 -- Kubernetes kubectl create configmap 命令详解
  4. android软键盘挡住输入框问题解决方法
  5. JavaScript语法学习
  6. Luogu1005 矩阵取数游戏
  7. 使用c语言生成斐波拉契(Fibonacci)数列的前20项并输出
  8. 科普:史上最强单片机
  9. linux机顶盒线刷教程,机顶盒刷机教程 机顶盒刷机步骤详解与注意事项
  10. 苹果无线笔记本怎么连不上win服务器,苹果笔记本连不上无线_苹果笔记本连不上wifi...
  11. Windows10设置动态桌面壁纸
  12. 自建cdn搭建_自建CDN服务器Fikker新手教程
  13. css中iconfont图标旋转
  14. 【 力扣(LeetCode)刷题详细介绍】
  15. QT MPlayer播放器
  16. WIn10编译Audacity——C++
  17. openid无效什么意思_“洋河年份原浆”商标被驳回,为什么古井贡酒坐不住了?...
  18. 南宁市计算机技术专业学校,南宁电脑技术学校有哪些
  19. 线程同步之互斥量(互斥锁)
  20. C++ 之父 Bjarne Stroustrup : 简单的表述方式才是最优的方案

热门文章

  1. 【论文阅读】Conversational Memory Networkfor Emotion Recognition in Dyadic Dialogue Videos
  2. 虾米带你轻松搞定Vuejs 系列
  3. 一文搞懂 db2 的锁(表锁、行锁、共享锁、排他锁)
  4. 部署论坛代码(linux)
  5. ODL(C版本)安装过程
  6. 【Linux】【Shell】如何循环进入文件夹批量处理数据?批量修改文件的脚本
  7. x是小于9的非负数的matlab,x是小于10的非负数”,用MATLAB表达式可写为
  8. 总结五:如何正确的编写招聘程序员职位描述
  9. 一键关闭win10防火墙拦截更新等小工具
  10. 摄像头 SONY VISCA 协议