适合练手的5个Python迷你程序(附代码)
适合练手的5个Python迷你程序(附代码)
gh_1d7504e4dee1
回复关键字 `156` 领取神秘礼包!专注于Python、Pycharm注册码、Pycharm教程、爬虫、数据分析、大数据、人工智能等技术分享。
来源:网络。如侵,请联系删除
在使用Python的过程中,我最喜欢的就是Python的各种第三方库,能够完成很多操作。
点击领取Python面试题手册
Python从入门到进阶知识手册
下面就给大家介绍5个通过Python构建的项目,以此来学习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)
二、随机密码生成器
目标: 创建一个程序,可指定密码长度,生成一串随机密码。
提示: 创建一个数字+大写字母+小写字母+特殊字符的字符串。根据设定的密码长度随机生成一串密码。
import random
passlen = int(input(
"enter the length of password"
))
s=
" abcdefghijklmnopqrstuvwxyz01234567890ABCDEFGHIJKL MNOPQRSTUVIXYZ!aN$x*6*( )?"
p =
".join(random.sample(s,passlen ))
print(p)
----------------------------
enter the length of password
6
Za1gB0
三、骰子模拟器
目的: 创建一个程序来模拟掷骰子。
提示: 当用户询问时,使用random模块生成一个1到6之间的数字。
import random;
while
int
(input(
’Press 1 to roll the dice or 0 to exit:
’
)):
print
( random. randint(
1
,
6
))
--------------------------------------------------------------------
Press
1
to roll the dice
or
0
to
exit
1
4
四、自动发送邮件
目的: 编写一个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脚本。
提示: 你可以使用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
"
)
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
程序员技术交流群
扫码进群记得备注: 城市、昵称和技术方向 。
阅读更多
-
JetBrains Fleet 公测,下一代轻量级全能 IDE -
【Pycharm教程】在 PyCharm 中导入现有的项目 -
玩了一把!用 Python 破解 WiFi 密码,太刺激了。。。
-
2023年血糖新标准公布,不是3.9-6.1,快来看看你的血糖正常吗? 2023-02-07
-
2023年各省最新电价一览!8省中午执行谷段电价! 2023-01-03
-
GB 55009-2021《燃气工程项目规范》(含条文说明),2022年1月1日起实施 2021-11-07
-
PPT导出高分辨率图片的四种方法 2022-09-22
-
2023年最新!国家电网27家省级电力公司负责人大盘点 2023-03-14
-
全国消防救援总队主官及简历(2023.2) 2023-02-10
-
盘点 l 中国石油大庆油田现任领导班子 2023-02-28
-
我们的前辈!历届全国工程勘察设计大师完整名单! 2022-11-18
-
关于某送变电公司“4·22”人身死亡事故的快报 2022-04-26
