千家信息网

Python迷你项目方法教程

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍"Python迷你项目方法教程",在日常操作中,相信很多人在Python迷你项目方法教程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Python迷你项
千家信息网最后更新 2026年11月03日Python迷你项目方法教程

这篇文章主要介绍"Python迷你项目方法教程",在日常操作中,相信很多人在Python迷你项目方法教程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Python迷你项目方法教程"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

① 骰子模拟器

目的:创建一个程序来模拟掷骰子。

提示:当用户询问时,使用random模块生成一个1到6之间的数字。

② 石头剪刀布游戏

目标:创建一个命令行游戏,游戏者可以在石头、剪刀和布之间进行选择,与计算机PK。如果游戏者赢了,得分就会添加,直到结束游戏时,最终的分数会展示给游戏者。

提示:接收游戏者的选择,并且与计算机的选择进行比较。计算机的选择是从选择列表中随机选取的。如果游戏者获胜,则增加1分。

import random  choices = ["Rock", "Paper", "Scissors"]  computer = random.choice(choices)  player = False  cpu_score = 0  player_score = 0  while True:      player = input("Rock, Paper or  Scissors?").capitalize()      # 判断游戏者和电脑的选择      if player == computer:          print("Tie!")      elif player == "Rock":          if computer == "Paper":              print("You lose!", computer, "covers", player)              cpu_score+=1          else:              print("You win!", player, "smashes", computer)              player_score+=1      elif player == "Paper":          if computer == "Scissors":              print("You lose!", computer, "cut", player)              cpu_score+=1          else:              print("You win!", player, "covers", computer)              player_score+=1      elif player == "Scissors":          if computer == "Rock":              print("You lose...", computer, "smashes", player)              cpu_score+=1          else:              print("You win!", player, "cut", computer)              player_score+=1      elif player=='E':          print("Final Scores:")          print(f"CPU:{cpu_score}")          print(f"Plaer:{player_score}")          break      else:          print("That's not a valid play. Check your spelling!")      computer = random.choice(choices)

③ 随机密码生成器

目标:创建一个程序,可指定密码长度,生成一串随机密码。

提示:创建一个数字+大写字母+小写字母+特殊字符的字符串。根据设定的密码长度随机生成一串密码。

④ 句子生成器

目的:通过用户提供的输入,来生成随机且唯一的句子。

提示:以用户输入的名词、代词、形容词等作为输入,然后将所有数据添加到句子中,并将其组合返回。

⑤ 猜数字游戏

目的:在这个游戏中,任务是创建一个脚本,能够在一个范围内生成一个随机数。如果用户在三次机会中猜对了数字,那么用户赢得游戏,否则用户输。

提示:生成一个随机数,然后使用循环给用户三次猜测机会,根据用户的猜测打印最终的结果。

⑥ 故事生成器

目的:每次用户运行程序时,都会生成一个随机的故事。

提示:random模块可以用来选择故事的随机部分,内容来自每个列表里。

⑦ 邮件地址切片器

目的:编写一个Python脚本,可以从邮件地址中获取用户名和域名。

提示:使用@作为分隔符,将地址分为分为两个字符串。

⑧ 自动发送邮件

目的:编写一个Python脚本,可以使用这个脚本发送电子邮件。

提示:email库可用于发送电子邮件。

import smtplib   from email.message import EmailMessage  email = EmailMessage() ## Creating a object for EmailMessage  email['from'] = 'xyz name'   ## Person who is sending  email['to'] = 'xyz id'       ## Whom we are sending  email['subject'] = 'xyz subject'  ## Subject of email  email.set_content("Xyz content of email") ## content of email  with smtlib.SMTP(host='smtp.gmail.com',port=587)as smtp:    ## sending request to server       smtp.ehlo()          ## server object  smtp.starttls()      ## used to send data between server and client  smtp.login("email_id","Password") ## login id and password of gmail  smtp.send_message(email)   ## Sending email  print("email send")    ## Printing success message

⑨ 缩写词

目的:编写一个Python脚本,从给定的句子生成一个缩写词。

提示:你可以通过拆分和索引来获取第一个单词,然后将其组合。

⑩ 文字冒险游戏

目的:编写一个有趣的Python脚本,通过为路径选择不同的选项让用户进行有趣的冒险。

⑪ Hangman

目的:创建一个简单的命令行hangman游戏。

提示:创建一个密码词的列表并随机选择一个单词。现在将每个单词用下划线"_"表示,给用户提供猜单词的机会,如果用户猜对了单词,则将"_"用单词替换。

import time  import random  name = input("What is your name? ")  print ("Hello, " + name, "Time to play hangman!")  time.sleep(1)  print ("Start guessing...\n")  time.sleep(0.5)  ## A List Of Secret Words  words = ['python','programming','treasure','creative','medium','horror']  word = random.choice(words)  guesses = ''  turns = 5  while turns > 0:              failed = 0                 for char in word:              if char in guesses:                 print (char,end="")            else:              print ("_",end=""),                  failed += 1          if failed == 0:                  print ("\nYou won")           break                   guess = input("\nguess a character:")       guesses += guess                         if guess not in word:           turns -= 1                 print("\nWrong")             print("\nYou have", + turns, 'more guesses')           if turns == 0:                         print ("\nYou Lose")

⑫ 闹钟

目的:编写一个创建闹钟的Python脚本。

提示:你可以使用date-time模块创建闹钟,以及playsound库播放声音。

from datetime import datetime    from playsound import playsound  alarm_time = input("Enter the time of alarm to be set:HH:MM:SS\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("Setting up alarm..")  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("Wake Up!")                      playsound('audio.mp3') ## download the alarm sound from link                      break

⑬ 有声读物

目的:编写一个Python脚本,用于将Pdf文件转换为有声读物。

提示:借助pyttsx3库将文本转换为语音。

安装:pyttsx3,PyPDF2

⑭ 天气应用

目的:编写一个Python脚本,接收城市名称并使用爬虫获取该城市的天气信息。

提示:你可以使用Beautifulsoup和requests库直接从谷歌主页爬取数据。

安装:requests,BeautifulSoup

from bs4 import BeautifulSoup  import requests  headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}  def weather(city):      citycity=city.replace(" ","+")      res = requests.get(f'https://www.google.com/search?q={city}&oq={city}&aqs=chrome.0.35i39l2j0l4j46j69i60.6128j1j7&sourceid=chrome&ie=UTF-8',headersheaders=headers)     print("Searching in google......\n")      soup = BeautifulSoup(res.text,'html.parser')        location = soup.select('#wob_loc')[0].getText().strip()       time = soup.select('#wob_dts')[0].getText().strip()          info = soup.select('#wob_dc')[0].getText().strip()       weather = soup.select('#wob_tm')[0].getText().strip()      print(location)      print(time)      print(info)      print(weather+"°C")   print("enter the city name")  city=input()  citycity=city+" weather"  weather(city)

⑮ 人脸检测

目的:编写一个Python脚本,可以检测图像中的人脸,并将所有的人脸保存在一个文件夹中。

提示:可以使用haar级联分类器对人脸进行检测。它返回的人脸坐标信息,可以保存在一个文件中。

安装:OpenCV。

下载:haarcascade_frontalface_default.xml

https://raw.githubusercontent.com/opencv/opencv/master/data/haarcascades/haarcascade_frontalface_default.xml

import cv2  # Load the cascade  face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')  # Read the input image  img = cv2.imread('images/img0.jpg')  # Convert into grayscale  gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)  # Detect faces  faces = face_cascade.detectMultiScale(gray, 1.3, 4)  # Draw rectangle around the faces  for (x, y, w, h) in faces:      cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2)      crop_face = img[y:y + h, x:x + w]        cv2.imwrite(str(w) + str(h) + '_faces.jpg', crop_face)  # Display the output  cv2.imshow('img', img)  cv2.imshow("imgcropped",crop_face)  cv2.waitKey()

⑯ 提醒应用

目的:创建一个提醒应用程序,在特定的时间提醒你做一些事情(桌面通知)。

提示:Time模块可以用来跟踪提醒时间,toastnotifier库可以用来显示桌面通知。

安装:win10toast

from win10toast import ToastNotifier  import time  toaster = ToastNotifier()  try:      print("Title of reminder")      header = input()      print("Message of reminder")      text = input()      print("In how many minutes?")      time_min = input()      time_min=float(time_min)  except:      header = input("Title of reminder\n")      text = input("Message of remindar\n")      time_min=float(input("In how many minutes?\n")) time_mintime_min = time_min * 60  print("Setting up reminder..")  time.sleep(2)  print("all set!")  time.sleep(time_min)  toaster.show_toast(f"{header}",  f"{text}",  duration=10,  threaded=True)  while toaster.notification_active(): time.sleep(0.005)

⑰ 维基百科文章摘要

目的:使用一种简单的方法从用户提供的文章链接中生成摘要。

提示:你可以使用爬虫获取文章数据,通过提取生成摘要。

from bs4 import BeautifulSoup  import re  import requests  import heapq  from nltk.tokenize import sent_tokenize,word_tokenize  from nltk.corpus import stopwords  url = str(input("Paste the url"\n"))  num = int(input("Enter the Number of Sentence you want in the summary"))  num = int(num)  headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}  #url = str(input("Paste the url......."))  res = requests.get(url,headersheaders=headers)  summary = "" soup = BeautifulSoup(res.text,'html.parser')   content = soup.findAll("p")  for text in content:      summary +=text.text   def clean(text):      text = re.sub(r"\[[0-9]*\]"," ",text)      texttext = text.lower()      text = re.sub(r'\s+'," ",text)      text = re.sub(r","," ",text)      return text  summary = clean(summary)  print("Getting the data......\n")  ##Tokenixing  sent_tokens = sent_tokenize(summary)  summary = re.sub(r"[^a-zA-z]"," ",summary)  word_tokens = word_tokenize(summary)  ## Removing Stop words  word_frequency = {}  stopwords =  set(stopwords.words("english"))  for word in word_tokens:      if word not in stopwords:          if word not in word_frequency.keys():              word_frequency[word]=1          else:              word_frequency[word] +=1  maxmaximum_frequency = max(word_frequency.values())  print(maximum_frequency)           for word in word_frequency.keys():      word_frequency[word] = (word_frequency[word]/maximum_frequency)  print(word_frequency)  sentences_score = {}  for sentence in sent_tokens:      for word in word_tokenize(sentence):          if word in word_frequency.keys():             if (len(sentence.split(" "))) <30:                  if sentence not in sentences_score.keys():                      sentences_score[sentence] = word_frequency[word]                  else:                      sentences_score[sentence] += word_frequency[word]  print(max(sentences_score.values()))  def get_key(val):       for key, value in sentences_score.items():           if val == value:               return key   key = get_key(max(sentences_score.values()))  print(key+"\n")  print(sentences_score)  summary = heapq.nlargest(num,sentences_score,key=sentences_score.get)  print(" ".join(summary))  summary = " ".join(summary)

⑱ 获取谷歌搜索结果

目的:创建一个脚本,可以根据查询条件从谷歌搜索获取数据。

from bs4 import BeautifulSoup   import requests  headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}  def google(query):      queryquery = query.replace(" ","+")      try:          url = f'https://www.google.com/search?q={query}&oq={query}&aqs=chrome..69i57j46j69i59j35i39j0j46j0l2.4948j0j7&sourceid=chrome&ie=UTF-8'          res = requests.get(url,headersheaders=headers)          soup = BeautifulSoup(res.text,'html.parser')      except:          print("Make sure you have a internet connection")      try:          try:              ans = soup.select('.RqBzHd')[0].getText().strip()          except:              try:                  title=soup.select('.AZCkJd')[0].getText().strip()                  try:                      ans=soup.select('.e24Kjd')[0].getText().strip()                  except:                      ans=""                  ans=f'{title}\n{ans}'              except:                  try:                      ans=soup.select('.hgKElc')[0].getText().strip()                  except:                      ans=soup.select('.kno-rdesc span')[0].getText().strip()      except:          ans = "can't find on google"      return ans  result = google(str(input("Query\n")))  print(result)

获取结果如下。

⑲ 货币换算器

目的:编写一个Python脚本,可以将一种货币转换为其他用户选择的货币。

提示:使用Python中的API,或者通过forex-python模块来获取实时的货币汇率。

安装:forex-python

⑳ 键盘记录器

目的:编写一个Python脚本,将用户按下的所有键保存在一个文本文件中。

提示:pynput是Python中的一个库,用于控制键盘和鼠标的移动,它也可以用于制作键盘记录器。简单地读取用户按下的键,并在一定数量的键后将它们保存在一个文本文件中。

from pynput.keyboard import Key, Controller,Listener  import time  keyboard = Controller()  keys=[]  def on_press(key):      global keys      #keys.append(str(key).replace("'",""))      strstring = str(key).replace("'","")      keys.append(string)      main_string = "".join(keys)      print(main_string)      if len(main_string)>15:        with open('keys.txt', 'a') as f:            f.write(main_string)               keys= []       def on_release(key):      if key == Key.esc:          return False  with listener(on_presson_press=on_press,on_releaseon_release=on_release) as listener:      listener.join()

文章朗读器

目的:编写一个Python脚本,自动从提供的链接读取文章。

import pyttsx3  import requests  from bs4 import BeautifulSoup  url = str(input("Paste article url\n"))  def content(url):    res = requests.get(url)    soup = BeautifulSoup(res.text,'html.parser')    articles = []    for i in range(len(soup.select('.p'))):      article = soup.select('.p')[i].getText().strip()      articles.append(article)      contents = " ".join(articles)    return contents  engine = pyttsx3.init('sapi5')  voices = engine.getProperty('voices')  engine.setProperty('voice', voices[0].id)  def speak(audio):    engine.say(audio)    engine.runAndWait()  contentcontents = content(url)  ## print(contents)      ## In case you want to see the content  #engine.save_to_file  #engine.runAndWait() ## In case if you want to save the article as a audio file

短网址生成器

目的:编写一个Python脚本,使用API缩短给定的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 sys  def make_tiny(url):      request_url = ('http://tinyurl.com/api-create.php?' +       urlencode({'url':url}))      with contextlib.closing(urlopen(request_url)) as response:          return response.read().decode('utf-8')  def main():      for tinyurl in map(make_tiny, sys.argv[1:]):          print(tinyurl)  if __name__ == '__main__':      main()  -----------------------------OUTPUT------------------------  python url_shortener.py https://www.wikipedia.org/  https://tinyurl.com/buf3qt3

到此,关于"Python迷你项目方法教程"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

目的 提示 用户 脚本 生成 选择 方法 单词 密码 文章 人脸 文件 模块 邮件 教程 项目 句子 数字 数据 生成器 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海睿民互联网科技有限公司 广州大一互联网络科技有限公司 新华互联网科技学校 科技和互联网公司 以房互联网科技 广州互联网络科技有限公司 上海万想互联网科技 互联网高科技股票 博兴的互联网电子科技公司 须眉科技是互联网公司吗 互联网和黑科技的看法 互联网数据科技专业 保险科技服务互联网营销体系 中科明德北京互联网科技 全球科技与互联网公司市值变化 科技互联网行业投资研究 互联网科技接地气 云南互联网科技学费 互联网大会出现的黑科技 互联网 科技节活动 微视频大赛 手冲咖啡和咖啡机区别 亿策互联网科技 苏州大垚互联网科技 佰商互联网科技有限公司 滨湖区互联网智能科技产品供应 海南科技产业互联网平台 西藏七维空间互联网科技有限公司 深圳前海聚择互联网科技有限公司 互联网为啥属于高科技 搜狐科技互联网
0