Python是目前最好的编程语言之一。 由于其可读性和对初学者的友好性,已被广泛使用。

那么要想学会并掌握Python,可以实战的练习项目是必不可少的。

接下来,我将给大家介绍20个非常实用的Python项目,帮助大家更好的学习Python。

大家也可根据项目的需求,自己构建解决方法,提高编程水平。

  猜字游戏

在这个游戏中,你必须一个字母一个字母的猜出秘密单词。

如果你猜错了一个字母,你将丢掉一条命。

正如游戏名那样,你需要仔细选择字母,因为你的生命数量非常有限。

import random# 生命次数
lives = 3# 神秘单词, 随机选择
words = ['pizza', 'fairy', 'teeth', 'shirt', 'otter', 'plane']
secret_word = random.choice(words)
# print(secret_word)clue = list('?????')
heart_symbol = u'\u2764'guessed_word_correctly = Falsedef update_clue(guessed_letter, secret_word, clue):index = 0while index < len(secret_word):if guessed_letter == secret_word[index]:clue[index] = guessed_letterindex = index + 1while lives > 0:print(clue)print('剩余生命次数: ' + heart_symbol * lives)guess = input('猜测字母或者是整个单词: ')if guess == secret_word:guessed_word_correctly = Truebreakif guess in secret_word:update_clue(guess, secret_word, clue)else:print('错误。你丢了一条命\n')lives = lives - 1if guessed_word_correctly:print('你赢了! 秘密单词是 ' + secret_word)
else:print('你输了! 秘密单词是 ' + secret_word) 

下面就让小F, 来玩一下。

2.   闹钟

闹钟是一种具有可以在预先设定的时间被激活以响铃的功能的时钟,用于唤醒打工人们。

使用Python中的DateTime模块来创建闹钟,并用Python中的playsound库来播放闹钟声音。

from datetime import datetime
from playsound import playsound# 输入
alarm_time = input("请输入闹钟时间, 示例: 09:50:00 am\n")
# 时
alarm_hour = alarm_time[0:2]
# 分
alarm_minute = alarm_time[3:5]
# 秒
alarm_seconds = alarm_time[6:8]
# 上午或下午
alarm_period = alarm_time[9:11].upper()
print("完成闹钟设置..")while True:now = datetime.now()current_hour = now.strftime("%I")current_minute = now.strftime("%M")current_seconds = now.strftime("%S")current_period = now.strftime("%p")# 时间判断if alarm_period == current_period:if alarm_hour == current_hour:if alarm_minute == current_minute:if alarm_seconds == current_seconds:print("起来啦!")# 闹钟铃声playsound('audio.mp3')break

来测试一下,设置一个闹钟,到指定时间就会有音乐响起。

3.  骰子模拟器

可以通过选择1到6之间的随机整数,来完成骰子模拟。

import random# 设置最大值和最小值
min_val = 1
max_val = 6# 是否继续
roll_again = "yes"# 循环
while roll_again == "yes" or roll_again == "y":print("开始掷骰子")print("骰子数值是 :")# 第一轮print(random.randint(min_val, max_val))# 第二轮print(random.randint(min_val, max_val))# 是否继续roll_again = input("是否继续掷骰子?(是的话, 输入yes或者y)")

使用random.randint()函数。函数根据我们指定的开始和结束范围返回一个随机整数。

结果如下。

4.  语言检测

当你需要处理包含不同语言数据,且数据非常大的时候,语言检测就派上用场了。

使用Python中的langdetect包,可以在几行代码内检测超过55种不同的语言。

from langdetect import detecttext = input("输入信息: ")
print(detect(text))

示例。

5. 加密和解密

密码术意味着更改消息的文本,以便不知道你秘密的人永远不会理解你的消息。

下面就来创建一个GUI应用程序,使用Python进行加密和解密。

在这里,我们需要编写使用无限循环的代码,代码将不断询问用户是否要加密或解密消息。

from tkinter import messagebox, simpledialog, Tkdef is_even(number):return number % 2 == 0def get_even_letters(message):even_letters = []for counter in range(0, len(message)):if is_even(counter):even_letters.append(message[counter])return even_lettersdef get_odd_letters(message):odd_letters = []for counter in range(0, len(message)):if not is_even(counter):odd_letters.append(message[counter])return odd_lettersdef swap_letters(message):letter_list = []if not is_even(len(message)):message = message + 'x'even_letters = get_even_letters(message)odd_letters = get_odd_letters(message)for counter in range(0, int(len(message) / 2)):letter_list.append(odd_letters[counter])letter_list.append(even_letters[counter])new_message = ''.join(letter_list)return new_messagedef get_task():task = simpledialog.askstring('任务', '你是否想要加密或解密信息?')return taskdef get_message():message = simpledialog.askstring('信息', '输入相关信息: ')return messageroot = Tk()
while True:task = get_task()if task == '加密':message = get_message()encrypted = swap_letters(message)messagebox.showinfo('密电的密文为:', encrypted)elif task == '解密':message = get_message()decrypted = swap_letters(message)messagebox.showinfo('密电的明文为:', decrypted)else:breakroot.mainloop()

示例。

6. URL缩短

短网址由于易于记忆和输入,因此在数字营销领域非常受欢迎。

这里给大家介绍一下,如何使用Python创建URL缩短器。

from __future__ import with_statement
import contextlib
try:from urllib.parse import urlencode
except ImportError:from urllib import urlencode
try:from urllib.request import urlopen
except ImportError:from urllib2 import urlopen
import sysdef make_tiny(url):request_url = ('http://tinyurl.com/api-create.php?' + urlencode({'url': url}))# print(request_url)with contextlib.closing(urlopen(request_url)) as response:return response.read().decode('utf-8')def main():for tinyurl in map(make_tiny, ['https://baijiahao.baidu.com/s?id=1719379508156841662']):print(tinyurl)if __name__ == '__main__':main()

运行代码,输出如下。

# 输出
https://tinyurl.com/y4z6z2gq

7.   音乐播放器

音乐播放器,可让你快速轻松地管理和收听所有音乐文件。

应该不少小伙伴都使用过,网易云音乐、QQ音乐、酷狗音乐等。

这里小F将使用Pygame和Tkinter,来创建一个音乐播放器。

import pygame
import tkinter as tkr
from tkinter.filedialog import askdirectory
import osmusic_player = tkr.Tk()
music_player.title("我的音乐播放器")
music_player.geometry("450x350")
directory = askdirectory()
os.chdir(directory)
song_list = os.listdir()play_list = tkr.Listbox(music_player, font="Helvetica 12 bold", bg='yellow', selectmode=tkr.SINGLE)
for item in song_list:pos = 0play_list.insert(pos, item)pos += 1
pygame.init()
pygame.mixer.init()def play():"""播放"""pygame.mixer.music.load(play_list.get(tkr.ACTIVE))var.set(play_list.get(tkr.ACTIVE))pygame.mixer.music.play()def stop():"""停止"""pygame.mixer.music.stop()def pause():"""暂停"""pygame.mixer.music.pause()def unpause():"""取消暂停"""pygame.mixer.music.unpause()Button1 = tkr.Button(music_player, width=5, height=3, font="Helvetica 12 bold", text="播放", command=play, bg="blue", fg="white")
Button2 = tkr.Button(music_player, width=5, height=3, font="Helvetica 12 bold", text="停止", command=stop, bg="red", fg="white")
Button3 = tkr.Button(music_player, width=5, height=3, font="Helvetica 12 bold", text="暂停", command=pause, bg="purple", fg="white")
Button4 = tkr.Button(music_player, width=5, height=3, font="Helvetica 12 bold", text="取消暂停", command=unpause, bg="orange", fg="white")var = tkr.StringVar()
song_title = tkr.Label(music_player, font="Helvetica 12 bold", textvariable=var)song_title.pack()
Button1.pack(fill="x")
Button2.pack(fill="x")
Button3.pack(fill="x")
Button4.pack(fill="x")
play_list.pack(fill="both", expand="yes")
music_player.mainloop()

选择音乐文件所在的文件夹,点击播放,即可听见音乐。

想要更多的小项目可以加这个老师或者评论区扣“1” 

7个Python实战项目(附源码),拿走就用相关推荐

  1. 全网首发!精选32个最新Python实战项目(附源码),拿走就用!

    Python是目前最好的编程语言之一.由于其可读性和对初学者的友好性,已被广泛使用.那么要想学会并掌握Python,可以实战的练习项目是必不可少的.接下来,我将给大家介绍32个非常实用的Python项 ...

  2. python写个围棋程序_经典python实战项目blog源码学习

    这是廖雪峰老师实际项目的源码, python知识学得再多,都不如实战用一回. Day 1 – 搭建开发环境 Day 2 – 编写Web App骨架 Day 3 – 编写ORM Day 4 – 编写Mo ...

  3. 飞机大战--python基础项目(附源码和原理讲解)

    声明 此项目是对python基础语法和高级语法的结合,学完python基础和高级可以拿此项目练手,说的比较细,涵盖了pygame一些知识点的讲解. 项目展示 安装准备 这里我们要用到pygame模块, ...

  4. 微信原生小程序电商实战项目----附源码和分析

    项目地址:https://github.com/li1164267803/wechat-test-shopping 如果觉得对您有用,不忘记了给个 star 最近公司准备做小程序的项目,技术选型定为使 ...

  5. python实战:22个Python迷你项目(附源码)【建议收藏】

    在使用Python的过程中,我最喜欢的就是Python的各种第三方库,能够完成很多操作. 下面就给大家介绍22个通过Python构建的项目,以此来学习Python编程. 大家也可根据项目的目的及提示, ...

  6. 精选20个爆火的Python实战项目(含源码),直接拿走不谢

    今天给大家介绍20个非常实用的Python项目,帮助大家更好的学习Python. ① 猜字游戏 在这个游戏中,你必须一个字母一个字母的猜出秘密单词. 如果你猜错了一个字母,你将丢掉一条命. 正如游戏名 ...

  7. 22个Python迷你项目(附源码)

    公众号后台回复"图书",了解更多号主新书内容 作者:小F 来源:法纳斯特 在使用Python的过程中,我最喜欢的就是Python的各种第三方库,能够完成很多操作. 下面就给大家介绍 ...

  8. python实现一个简单的项目建议书范文_建议收藏,22个Python迷你项目(附源码)

    Python部落在使用Python的过程中,我最喜欢的就是Python的各种第三方库,能够完成很多操作. 下面就给大家介绍22个通过Python构建的项目,以此来学习Python编程. 大家也可根据项 ...

  9. python实现一个简单的项目建议书范文_建议收藏,18个Python迷你项目(附源码)

    在使用Python的过程中,我最喜欢的就是Python的各种第三方库,能够完成很多操作. 下面就给大家介绍22个通过Python构建的项目,以此来学习Python编程. 大家也可根据项目的目的及提示, ...

  10. 经典python项目源码_建议收藏,22个Python迷你项目(附源码)

    在使用Python的过程中,我最喜欢的就是Python的各种第三方库,能够完成很多操作. 下面就给大家介绍22个通过Python构建的项目,以此来学习Python编程. 大家也可根据项目的目的及提示, ...

最新文章

  1. C6678-SRIO和Virtex6-FPGA
  2. od 追踪_裁判员行为规范【基本功】——追踪裁判违例宣判练习 /五秒违例
  3. 软件测试oracle问题,数据库基础:Oracle数据库中时间问题比较
  4. cllocationmanager 获取不了 的原因_我的世界:天启之境如何获取“人鱼手链”?一段人鱼姬的爱情故事...
  5. pyqt讲解7:表格和树
  6. 【EasyUI】Tree中自定义在节点前是否显示checkbox
  7. 跟我一起学Redis之看完这篇比常人多会三种类型实战(又搞了几个小时)
  8. java int相除向上取整_java实战项目常用类,Date、Calendar、BigDecimal、Math、UUID
  9. linux c 封装redis,封装hiredis——C++与redis对接(一)(string的SET与GET操作)
  10. 中缀表达式值(信息学奥赛一本通-T1358)
  11. 人脸识别撞脸名画_奇瑞全新电动SUV现身,“撞脸”保时捷,全铝车身,轴距2805mm...
  12. 个人简历中计算机应用能力,年中计算机应用专业个人简历模板.docx
  13. java 复制一个对象_Java如何完全复制一个对象
  14. 【bug】记一个有趣的“bug”
  15. 初窥Linux 之 ext2/ext3文件系统
  16. 使用VScode插件vs-picgo传图到阿里云(Ubuntu18)
  17. 怎样做出优秀的扁平化设计风格 PPT 或 Keynote 幻灯片演示文稿?(装)
  18. Linux sublime设置中文,Sublime Text 3 设置为Ubuntu 14.04默认编辑器并支持中文
  19. openssl的部分使用例子
  20. Django的多应用分布式路由

热门文章

  1. 中国软件三季度业绩预测,中国软件股票趋势预测
  2. 开源面向对象数据库 db4o 之旅,第 1 部分: 初识 db4o
  3. 百度网盘、迅雷下载.torrent种子文件
  4. 2021年荷兰经济发展研究报告
  5. WORD排版视频教程
  6. 编译ffmpeg安卓库(clang篇),含armeabi-v7a , arm64-v8a, x86, x86_64
  7. blender_(uv应用)................http://digitalman.blog.163.com/blog/static/23874605620174172058299/...
  8. 华为安全HCIP-Security H12-721、H12-722、H12-723题库,含三套vce软件
  9. 360浏览器在b站看直播html5,用360浏览器看Bilibili视频很卡怎么办_360浏览器看B站视频卡如何解决-win7之家...
  10. c语言棋盘上的麦粒switch,C语言教材后习题及答案.doc