10个用来练手的Python迷你项目,附源码!

Posted 呆呆敲代码的阿狸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了10个用来练手的Python迷你项目,附源码!相关的知识,希望对你有一定的参考价值。

 

一、石头剪刀布游戏

 

目标:创建一个命令行游戏,游戏者可以在石头、剪刀和布之间进行选择,与计算机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)

 

二、自动发送邮件

 

目的:编写一个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

 

三、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学习交流环境,可以加入我们的Python学习Q群249180188,领取python学习资料,会节约很多时间,减少很多遇到的难题。

 

四、闹钟

 

目的:编写一个创建闹钟的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脚本,接收城市名称并使用爬虫获取该城市的天气信息。

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

安装:requests,BeautifulSoup

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学习Q群:249029188,群里都是学Python的,如果你想学或者正在学习Python ,欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2021最新的Python进阶资料和零基础教学,欢迎进阶中和对Python感兴趣的小伙伴加入!

 

以上是关于10个用来练手的Python迷你项目,附源码!的主要内容,如果未能解决你的问题,请参考以下文章

建议收藏,5个Python迷你项目(附源码)

建议收藏,5个Python迷你项目(附源码)

建议查阅,5个Python迷你项目(附源码)

Python之值得学习练手的22个迷你程序(附代码)|Python技能树测评

值得学习练手的22个Python迷你程序(附代码)

值得学习练手的22个Python迷你程序(附代码)