Python案例实战分享:十段代码详解

十个 Python 案例分享,不过字数可能达不到 15000 字,你可以根据实际情况进一步拓展和完善每个案例的内容细节哦。

案例一:简单的计算器程序

功能描述

这个程序允许用户输入两个数字以及想要执行的运算操作(加、减、乘、除),然后程序根据用户的选择计算并输出结果。

代码实现

收起

python

# 获取用户输入的两个数字
num1 = float(input("请输入第一个数字: "))
num2 = float(input("请输入第二个数字: "))

# 获取用户选择的运算操作
operation = input("请选择运算操作(+、-、*、/): ")

# 根据操作符进行相应计算并输出结果
if operation == "+":
    result = num1 + num2
    print(f"{num1} {operation} {num2} = {result}")
elif operation == "-":
    result = num1 - num2
    print(f"{num1} {operation} {num2} = {result}")
elif operation == "*":
    result = num1 * num2
    print(f"{num1} {operation} {num2} = {result}")
elif operation == "/":
    if num2 == 0:
        print("除数不能为0,请重新输入。")
    else:
        result = num1 / num2
        print(f"{num1} {operation} {num2} = {result}")
else:
    print("输入的运算操作不合法,请重新输入。")
案例分析

这个案例主要涉及到了 Python 的输入输出函数(input)以及基本的条件判断语句(if-elif-else),通过对用户输入的不同情况进行处理,实现了简单的计算功能,适合初学者理解程序的交互逻辑和基本运算处理方式。

案例二:文件读取与写入

功能描述

从一个文本文件中读取内容,然后将读取到的内容进行一些处理(比如把所有字母转为大写),再写入到另一个新的文本文件中。

代码实现

收起

python

# 打开要读取的文件,这里使用相对路径,假设文件在同一目录下
with open('input.txt', 'r') as file_in:
    content = file_in.read()

# 对读取的内容进行处理,转为大写
processed_content = content.upper()

# 打开要写入的文件,如果不存在会自动创建
with open('output.txt', 'w') as file_out:
    file_out.write(processed_content)

print("文件处理并写入成功!")
案例分析

这个案例运用了 Python 的文件操作相关知识,with语句能够自动管理文件资源的打开和关闭,避免忘记关闭文件导致的资源泄露等问题。同时展示了字符串的基本处理方法(如upper函数用于转换大小写),体现了对文本数据的读取、处理和写入流程,在实际的数据处理场景中经常会用到类似操作。

案例三:猜数字游戏

功能描述

程序会在一定范围内(比如 1 到 100)随机生成一个数字,让玩家进行猜测,每次猜测后程序会提示玩家猜的数字是大了还是小了,直到玩家猜对为止,并统计玩家猜测的次数。

代码实现

收起

python

import random

# 生成一个1到100之间的随机数
number_to_guess = random.randint(1, 100)
guess_count = 0
while True:
    try:
        # 获取玩家的猜测
        user_guess = int(input("请猜一个1到100之间的数字: "))
        guess_count += 1
        if user_guess == number_to_guess:
            print(f"恭喜你,猜对了!你一共猜了{guess_count}次。")
            break
        elif user_guess < number_to_guess:
            print("猜的数字小了,再试试吧。")
        else:
            print("猜的数字大了,再试试吧。")
    except ValueError:
        print("请输入整数哦,重新猜一下吧。")
案例分析

此案例引入了 Python 的random模块来生成随机数,通过循环(while语句)不断让玩家进行猜测,并且利用条件判断来给出提示。同时还使用了异常处理(try-except)来应对玩家输入非整数的情况,保证程序的稳定性和友好性,是一个趣味性与知识点结合的小案例,能帮助理解循环、条件判断以及异常处理的综合运用。

案例四:学生成绩管理系统(简单版)

功能描述

可以实现添加学生成绩、查询学生成绩、计算班级平均成绩等基本功能,通过字典来存储学生姓名和对应的成绩信息。

代码实现

收起

python

student_scores = {}

while True:
    print("1. 添加学生成绩")
    print("2. 查询学生成绩")
    print("3. 计算班级平均成绩")
    print("4. 退出")
    choice = input("请输入你的选择(1-4): ")

    if choice == "1":
        name = input("请输入学生姓名: ")
        score = float(input("请输入学生成绩: "))
        student_scores[name] = score
        print("学生成绩添加成功!")
    elif choice == "2":
        name = input("请输入要查询成绩的学生姓名: ")
        if name in student_scores:
            print(f"{name}的成绩是: {student_scores[name]}")
        else:
            print(f"不存在名为{name}的学生成绩记录。")
    elif choice == "3":
        if len(student_scores) == 0:
            print("还没有添加学生成绩记录哦,请先添加。")
        else:
            total_score = sum(student_scores.values())
            average_score = total_score / len(student_scores)
            print(f"班级平均成绩是: {average_score}")
    elif choice == "4":
        print("感谢使用,程序已退出。")
        break
    else:
        print("输入的选择不合法,请重新输入。")
案例分析

这个案例主要运用了 Python 的字典数据结构来存储数据,通过循环和多重条件判断语句构建了一个简单的命令行交互界面,实现不同的功能操作。展示了如何对字典进行增删改查操作,以及对字典中值的统计计算(如求总和、平均值等),可以让学习者初步体会到用 Python 构建简单数据管理系统的思路。

案例五:网络爬虫获取网页标题(简单示例,遵守相关法律和网站规则)

功能描述

使用 Python 的requests库和BeautifulSoup库(需提前安装),向指定网页发送请求,然后解析网页内容,提取出网页的标题信息。

代码实现

收起

python

import requests
from bs4 import BeautifulSoup

# 要爬取的网页URL,这里以示例网页为例,实际使用需遵守法律和网站规定
url = "https://www.example.com"

# 发送请求获取网页内容
response = requests.get(url)
if response.status_code == 200:
    # 使用BeautifulSoup解析网页内容
    soup = BeautifulSoup(response.text, 'html.parser')
    # 获取网页标题
    title = soup.title.string
    print(f"该网页的标题是: {title}")
else:
    print(f"请求网页失败,状态码: {response.status_code}")
案例分析

这个案例涉及到 Python 网络爬虫的基础知识,requests库用于发送 HTTP 请求获取网页资源,BeautifulSoup库则擅长对获取到的 HTML 文本进行解析,提取出我们想要的元素(这里是网页标题)。不过需要注意的是,在实际进行网络爬虫操作时,一定要遵守相关法律法规以及目标网站的使用条款,避免非法爬取数据。

案例六:图片处理(使用 Python 的 Pillow 库,需提前安装)

功能描述

打开一张图片,将其尺寸进行缩放(比如缩小为原来的一半),然后保存处理后的图片。

代码实现

收起

python

from PIL import Image

# 打开图片,这里假设图片在当前目录下,根据实际情况修改文件名
image = Image.open("original.jpg")

# 获取原始图片的宽度和高度
width, height = image.size

# 计算缩放后的尺寸
new_width = width // 2
new_height = height // 2

# 进行缩放操作
resized_image = image.resize((new_width, new_height))

# 保存处理后的图片,可指定新的文件名和格式
resized_image.save("resized.jpg")

print("图片处理并保存成功!")
案例分析

该案例利用了 Python 的Pillow库(PIL库的一个分支,功能更强大且更新)进行图片处理操作。展示了如何打开图片、获取图片尺寸以及对图片进行缩放等常见的图像操作,在实际的图像处理、网页开发等场景中,经常需要对图片进行类似的预处理,有助于理解图像相关的编程应用。

案例七:列表排序与筛选

功能描述

创建一个包含不同整数的列表,然后实现对列表进行升序排序,并筛选出列表中大于某个特定值的元素。

代码实现

收起

python

# 创建一个示例列表
number_list = [5, 3, 8, 1, 9, 2]

# 使用内置的sorted函数对列表进行升序排序
sorted_list = sorted(number_list)
print("排序后的列表:", sorted_list)

# 筛选出大于5的元素
threshold = 5
filtered_list = [num for num in sorted_list if num > threshold]
print("筛选后的列表:", filtered_list)
案例分析

这个案例主要聚焦于 Python 列表的操作,sorted函数是 Python 内置的用于对可迭代对象(如列表)进行排序的便捷方法,不需要手动编写复杂的排序算法。而列表推导式的使用则高效地实现了对列表元素的筛选,通过简单的条件判断就能提取出符合要求的元素,这两种操作在数据处理、数据分析等场景中经常会用到,有助于提高对列表数据操作的熟练度。

案例八:简单的图形界面程序(使用 Tkinter 库,Python 内置的 GUI 库)

功能描述

创建一个带有按钮和文本框的简单窗口,点击按钮后,在文本框中显示一段预设的文字。

代码实现

收起

python

import tkinter as tk

# 创建主窗口
root = tk.Tk()
root.title("简单GUI示例")

# 创建一个文本框
text_box = tk.Text(root, height=5, width=30)
text_box.pack()

# 创建一个按钮
def show_message():
    text_box.insert(tk.END, "欢迎来到Python的图形界面世界!")

button = tk.Button(root, text="点击显示文字", command=show_message)
button.pack()

# 启动主窗口的事件循环
root.mainloop()
案例分析

此案例利用了 Python 的Tkinter库构建图形界面,展示了如何创建窗口、文本框以及按钮等基本的 GUI 组件,并且通过定义按钮的点击事件(command参数绑定函数)来实现交互功能,让用户能够直观地看到图形界面编程的效果,对于想要涉足 Python 桌面应用开发的初学者来说是一个很好的入门示例。

案例九:数据可视化(使用 Matplotlib 库,需提前安装)

功能描述

生成一组简单的数据(比如一个月内每天的销售额数据),然后使用Matplotlib库将这些数据绘制成折线图,直观地展示数据的变化趋势。

代码实现

收起

python

import matplotlib.pyplot as plt

# 假设的一个月内每天的销售额数据(示例数据,可根据实际情况修改)
sales_data = [100, 120, 90, 110, 130, 140, 120, 150, 160, 140, 130, 170, 180, 190, 200, 180, 170, 160, 150, 140, 130, 120, 110, 100, 90, 80, 70, 60, 50]

# 设置横坐标标签(这里是日期,简单用数字表示天数)
days = list(range(1, len(sales_data) + 1))

# 绘制折线图
plt.plot(days, sales_data)

# 添加标题和坐标轴标签
plt.title("一个月内每天的销售额变化趋势")
plt.xlabel("天数")
plt.ylabel("销售额")

# 显示图形
plt.show()
案例分析

该案例借助Matplotlib库实现了数据可视化的操作,通过将数据绘制成折线图,能够更直观地呈现数据随时间(这里以天数表示)的变化情况。在数据分析、商业报告等诸多领域,数据可视化是非常重要的环节,它可以帮助人们快速理解数据背后的含义和规律,而Matplotlib作为 Python 中常用的可视化库,提供了丰富且便捷的绘图功能,这个案例只是其基础的应用展示。

案例十:多线程编程示例

功能描述

创建两个线程,分别执行不同的任务(比如一个线程进行计数并打印奇数,另一个线程进行计数并打印偶数),模拟并发执行的情况。

代码实现

收起

python

import threading

# 定义线程1的任务,打印奇数
def print_odd_numbers():
    for i in range(1, 100, 2):
        print(i)

# 定义线程2的任务,打印偶数
def print_even_numbers():
    for i in range(0, 100, 2):
        print(i)

# 创建线程1
thread1 = threading.Thread(target=print_odd_numbers)
# 创建线程2
thread2 = threading.Thread(target=print_even_numbers)

# 启动线程1
thread1.start()
# 启动线程2
thread2.start()

# 等待线程1和线程2执行完毕
thread1.join()
thread2.join()

print("所有线程执行完毕。")
案例分析

这个案例涉及到 Python 的多线程编程知识,通过threading模块创建并启动不同的线程,让它们并行执行不同的任务。在实际应用中,多线程可以充分利用多核处理器的资源,提高程序的执行效率,比如在网络请求、文件下载等场景中可以同时处理多个任务,不过多线程编程也需要注意线程安全等相关问题,此案例是一个简单的入门展示,便于理解多线程的基本概念和使用方式。

作者:芊言凝语

物联沃分享整理
物联沃-IOTWORD物联网 » Python案例实战分享:十段代码详解

发表回复