跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python算法

Python 简单小游戏与实用脚本代码示例:石头剪刀布、邮件发送等

综述由AI生成Python 简单小游戏与实用脚本代码示例,涵盖命令行石头剪刀布、自动发送邮件、猜单词(Hangman)及闹钟功能。文章提供完整可运行代码,修复了原稿中的语法错误和缩进问题,并补充了必要的库安装说明与环境配置提示。此外还包含了天气查询应用的爬虫逻辑框架,适合初学者练习基础逻辑与模块调用,无需关注无关的推广信息。

SecGuard发布于 2025/2/6更新于 2026/6/422 浏览
Python 简单小游戏与实用脚本代码示例:石头剪刀布、邮件发送等

Python 简单小游戏与实用脚本代码示例

本文整理了多个基于 Python 的入门级游戏与实用脚本,涵盖命令行交互、网络请求及系统功能调用。内容包含完整的可运行代码,修复了常见语法错误,并补充了环境配置与逻辑说明,适合初学者练习基础编程逻辑。

一、石头剪刀布游戏

1. 游戏原理

这是一个经典的命令行游戏。程序随机生成计算机的选择(石头、剪刀或布),用户输入自己的选择。通过比较双方的选择判定胜负,并统计分数直到用户退出。

2. 依赖安装

无需额外第三方库,使用 Python 标准库 random 即可。

3. 代码实现

import random

choices = ["Rock", "Paper", "Scissors"]
computer = random.choice(choices)
player_score = 0
cpu_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(, player, , computer)
            player_score += 
     player == :
         computer == :
            (, computer, , player)
            cpu_score += 
        :
            (, player, , computer)
            player_score += 
     player == :
        ()
        ()
        ()
        
    :
        ()
        

    computer = random.choice(choices)
"You win!"
"covers"
1
elif
"Scissors"
if
"Rock"
print
"You lose..."
"smashes"
1
else
print
"You win!"
"cut"
1
elif
'E'
print
"Final Scores:"
print
f"CPU: {cpu_score}"
print
f"Player: {player_score}"
break
else
print
"That's not a valid play. Check your spelling!"
continue

4. 运行说明

  1. 保存为 .py 文件。
  2. 在终端运行 python filename.py。
  3. 输入 Rock/Paper/Scissors 进行游戏,输入 E 结束。

二、自动发送邮件

1. 脚本目的

编写一个 Python 脚本,利用 SMTP 协议自动发送电子邮件。适用于批量通知或自动化报告场景。

2. 依赖安装

需要安装 smtplib (标准库) 和 email (标准库)。注意:Gmail 等邮箱服务通常需要在设置中开启'允许不安全的应用'或使用应用专用密码。

3. 代码实现

import smtplib
from email.message import EmailMessage

# 创建邮件对象
email = EmailMessage()
email['from'] = '[email protected]'  # 替换为你的发件人邮箱
email['to'] = '[email protected]'  # 替换为你的收件人邮箱
email['subject'] = '测试邮件主题'
email.set_content('这是邮件正文内容')

try:
    with smtplib.SMTP(host='smtp.gmail.com', port=587) as smtp:
        smtp.ehlo()  # 服务器握手
        smtp.starttls()  # 启用加密传输
        smtp.login('[email protected]', 'your_password_or_app_key')  # 登录认证
        smtp.send_message(email)  # 发送邮件
    print("邮件发送成功")
except Exception as e:
    print(f"发送失败:{e}")

4. 注意事项

  • 生产环境中请勿将密码硬编码在代码中,建议使用环境变量。
  • 部分邮箱服务商要求开启 SSL/TLS 支持。

三、猜单词游戏 (Hangman)

1. 游戏原理

程序从预设列表中随机选择一个单词,用下划线表示未猜出的字母。用户每次猜测一个字符,猜对显示该字母,猜错减少剩余机会。

2. 依赖安装

无需额外第三方库,使用 random 和 time 标准库。

3. 代码实现

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)

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")

4. 运行说明

  • 输入用户名开始。
  • 每次输入一个字母。
  • 剩余机会为 5 次。

四、闹钟程序

1. 脚本目的

创建一个简单的桌面闹钟,到达设定时间后播放声音提醒。

2. 依赖安装

需要安装 playsound 库来播放音频文件。

pip install playsound

同时需要准备一个名为 audio.mp3 的音频文件放在同一目录下。

3. 代码实现

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')
                    break

五、天气查询应用

1. 脚本目的

接收城市名称,通过网络爬虫获取该城市的实时天气信息。

2. 依赖安装

需要安装 requests 和 BeautifulSoup。

pip install requests beautifulsoup4

3. 代码实现

注:由于网页结构经常变动,以下代码演示了基本的爬取逻辑框架,实际使用时需根据目标网站 HTML 结构调整选择器。

import requests
from bs4 import BeautifulSoup
from urllib.parse import urljoin

url = "https://example-weather-site.com/weather/beijing"  # 替换为目标天气网站 URL
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
}

try:
    response = requests.get(url, headers=headers, timeout=10)
    response.raise_for_status()
    soup = BeautifulSoup(response.text, 'html.parser')

    # 假设温度数据在 class="temp" 的元素中,请根据实际页面修改
    temp_element = soup.find(class_='temp')
    if temp_element:
        temperature = temp_element.get_text(strip=True)
        print(f"当前温度:{temperature}")
    else:
        print("未能找到温度数据,请检查网页结构")

except requests.exceptions.RequestException as e:
    print(f"网络请求失败:{e}")
except Exception as e:
    print(f"解析出错:{e}")

总结

以上代码涵盖了 Python 基础控制流、模块导入、网络请求及系统交互等核心知识点。建议读者在本地环境逐一运行,并根据实际需求修改参数。学习过程中遇到报错时,请优先检查缩进、引号匹配及依赖库版本是否兼容。

目录

  1. Python 简单小游戏与实用脚本代码示例
  2. 一、石头剪刀布游戏
  3. 1. 游戏原理
  4. 2. 依赖安装
  5. 3. 代码实现
  6. 4. 运行说明
  7. 二、自动发送邮件
  8. 1. 脚本目的
  9. 2. 依赖安装
  10. 3. 代码实现
  11. 创建邮件对象
  12. 4. 注意事项
  13. 三、猜单词游戏 (Hangman)
  14. 1. 游戏原理
  15. 2. 依赖安装
  16. 3. 代码实现
  17. 4. 运行说明
  18. 四、闹钟程序
  19. 1. 脚本目的
  20. 2. 依赖安装
  21. 3. 代码实现
  22. 五、天气查询应用
  23. 1. 脚本目的
  24. 2. 依赖安装
  25. 3. 代码实现
  26. 总结
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 钉钉 Webhook 消息推送完全指南
  • Python 自学经典书籍推荐与系统学习路线指南
  • 直流无刷电机 FOC 控制算法原理与 STM32 实战
  • Ollama 本地大语言模型部署与使用指南
  • 日语语法:から和ので的用法区别与注意事项
  • 百度李彦宏发布文心大模型 4.0 工具版:开源模型将逐渐落后
  • 前端实战:如何让用户回到上次阅读位置
  • 利用内网穿透技术实现 OpenClaw 远程访问与部署
  • 基于 Leaflet Trackplayer 实现 WebGIS 高速轨迹可视化
  • Python 异步编程实战:基于 async/await 的高并发实现
  • uniapp 多用户多仓库进销存管理系统设计与实现
  • OpenClaw 结合飞书 Agent 构建 AI 自主模拟炒股系统
  • Qwen3-VL WebUI 本地部署与核心功能实战指南
  • RocketMQ Java 生态消息中间件架构与实战
  • AI 产品经理转型需知的 9 个核心问题
  • 无人机智能 AI 巡检平台:全域感知、航线规划与三维建模
  • Python 爬虫数据分析基础概念与常用库详解
  • ToDesk、顺网云、青椒云云电脑 AIGC 性能实测与对比
  • Elasticsearch + Kibana 实战:安装部署与 C++ 客户端封装
  • 长亭 Xray Web 漏洞扫描器使用指南

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online