惊!Python新手竟能做出这些?简易计算器、天气预报系统...你也可以!

对于刚踏入Python编程世界的新手来说,动手实践是快速掌握编程技能的关键。通过一系列简单而有趣的项目,你不仅能巩固基础语法,还能在解决实际问题中提升编程思维。本文精选了四个适合Python新手的实战项目——简易计算器、文本文件的读取与写入、模拟天气预报、学生成绩管理系统,旨在帮助你从零开始,逐步构建自己的编程作品集。

一、简易计算器

作为编程入门的经典项目,简易计算器不仅能够帮助你熟悉Python的基本运算(加、减、乘、除),还能让你学会如何处理用户输入和输出结果。通过这个项目,你将了解到如何使用input()函数接收用户输入,以及如何利用条件语句和循环结构来实现简单的逻辑判断。完成这个项目后,你将能够自信地编写处理基本数学运算的程序。

二、文本文件的读取与写入

文本文件处理是编程中不可或缺的一部分。在这个项目中,你将学习如何使用Python内置的open()函数来打开文件,并使用read()write()等方法来读取和写入文本内容。通过编写程序来读取一个文本文件的内容,并将其写入到另一个文件中,你将掌握文件操作的基本技能。此外,你还将学会如何处理文件打开失败、读写错误等异常情况,从而增强程序的健壮性。

三、模拟天气预报

模拟天气预报是一个既有趣又实用的项目。虽然这个项目不会真的预测天气,但它会教你如何根据预设的数据(比如模拟的气温、湿度等信息)来生成并展示天气预报。在这个项目中,你将学习到如何使用字典、列表等数据结构来存储和组织数据,以及如何利用循环和条件语句来遍历和筛选数据。同时,你还将学会如何格式化输出信息,使得天气预报结果更加直观易读。

四、学生成绩管理系统

学生成绩管理系统是一个贴近实际生活的项目,它能够帮助你管理大量学生的成绩数据。在这个项目中,你将使用到Python中的列表、字典、函数等高级特性来构建一个完整的系统。你将学习如何添加、查询、修改和删除学生成绩信息,以及如何对成绩进行排序和统计。通过完成这个项目,你将不仅掌握Python编程的进阶技能,还能学会如何将编程应用于实际问题的解决中。

目录

一、简易计算器

二、文本文件的读取与写入

三、模拟天气预报

四、学生成绩管理系统


一、简易计算器

项目描述
创建一个简单的命令行计算器,能够执行加、减、乘、除四种基本运算。

# 定义一个加法函数,接受两个参数x和y,返回它们的和
def add(x, y):
    return x + y


# 定义一个减法函数,接受两个参数x和y,返回它们的差
def subtract(x, y):
    return x - y


# 定义一个乘法函数,接受两个参数x和y,返回它们的积
def multiply(x, y):
    return x * y


# 定义一个除法函数,接受两个参数x和y。如果y为0,则返回"除数不能为0";否则返回x除以y的结果
def divide(x, y):
    if y == 0:
        return "除数不能为0"
    return x / y


# 打印操作选项给用户
print("选择操作:")
print("1.加法")
print("2.减法")
print("3.乘法")
print("4.除法")

# 使用while循环不断接受用户输入,直到用户输入有效的操作选项
while True:
    choice = input("请输入你的选择(1/2/3/4): ")

    # 检查用户输入是否是有效的操作选项
    if choice in ('1', '2', '3', '4'):
        # 请求用户输入两个数字
        num1 = float(input("输入第一个数字: "))
        num2 = float(input("输入第二个数字: "))

        # 根据用户的选择调用相应的函数,并打印结果
        if choice == '1':
            print(num1, "+", num2, "=", add(num1, num2))  # 加法

        elif choice == '2':
            print(num1, "-", num2, "=", subtract(num1, num2))  # 减法

        elif choice == '3':
            print(num1, "*", num2, "=", multiply(num1, num2))  # 乘法

        elif choice == '4':
            result = divide(num1, num2)  # 调用除法函数
            # 检查结果是否为字符串(即是否因为y为0而报错)
            if isinstance(result, str):
                print(result)  # 如果是字符串,则直接打印错误信息  
            else:
                print(num1, "/", num2, "=", result)  # 否则打印除法结果

        # 完成一次操作后退出循环
        break
    else:
        # 如果用户输入了无效的操作选项,则打印错误信息并继续循环
        print("无效输入")

步骤说明

  1. 定义四个函数分别处理加、减、乘、除运算。
  2. 通过打印提示信息让用户选择操作。
  3. 根据用户的选择,获取两个输入数字。
  4. 调用相应的函数执行运算,并打印结果。

运行结果:

选择操作:
1.加法
2.减法
3.乘法
4.除法
请输入你的选择(1/2/3/4): 1
输入第一个数字: 20
输入第二个数字: 28
20.0 + 28.0 = 48.0

二、文本文件的读取与写入

项目描述
编写一个Python程序,用于读取一个文本文件的内容,并将其内容写入到另一个文本文件中。

def read_file(file_path):
    with open(file_path, 'r', encoding='utf-8') as file:
        content = file.read()
    return content


def write_file(file_path, content):
    with open(file_path, 'w', encoding='utf-8') as file:
        file.write(content)

    # 使用示例


source_file = 'source.txt'
destination_file = 'destination.txt'

content = read_file(source_file)
write_file(destination_file, content)

print(f"内容已从 {source_file} 复制到 {destination_file}")

步骤说明

  1. 首先在当前目录下创建一个source.txt文件,里面随便写一写内容
  2. 定义read_file函数,用于读取文件内容。
  3. 定义write_file函数,用于将内容写入文件。
  4. 调用这两个函数,将指定源文件的内容读取出来,并写入到目标文件中。

三、模拟天气预报

项目描述
创建一个简单的命令行天气预报应用,它根据用户输入的城市名(模拟输入)返回该城市的天气情况(也是模拟数据)。

def get_weather(city):
    # 模拟的天气数据
    weather_data = {
        '北京': '晴, 25°C',
        '上海': '多云, 18°C',
        '广州': '雨, 12°C',
        '深圳': '阴, 22°C'
    }

    return weather_data.get(city, "未找到该城市的天气信息")


while True:
    city = input("请输入要查询天气的城市名: ")
    weather = get_weather(city)
    print(f"{city}的天气是:{weather}")

    # 可以选择是否继续查询
    if input("是否继续查询其他城市的天气?(y/n): ").lower() != 'y':
        break

运行结果:

请输入要查询天气的城市名: 上海
上海的天气是:多云, 18°C
是否继续查询其他城市的天气?(y/n): y
请输入要查询天气的城市名: 北京
北京的天气是:晴, 25°C
是否继续查询其他城市的天气?(y/n): y
请输入要查询天气的城市名: 沈阳
沈阳的天气是:未找到该城市的天气信息
是否继续查询其他城市的天气?(y/n): n

四、学生成绩管理系统

项目描述
创建一个简单的学生成绩管理系统,可以添加学生姓名和成绩,然后可以显示所有学生的成绩,或者查询特定学生的成绩。

# 定义Student类,用于表示学生  
class Student:  
    def __init__(self, name, score):  
        # 初始化Student对象时,设置学生的姓名和成绩  
        self.name = name  # 学生的姓名  
        self.score = score  # 学生的成绩  
  
# 定义add_student函数,用于向students列表中添加一个学生  
def add_student(students, name, score):  
    # 创建一个新的Student对象,并将其添加到students列表中  
    students.append(Student(name, score))  
  
# 定义display_students函数,用于显示所有学生的信息  
def display_students(students):  
    # 遍历students列表中的每个Student对象  
    for student in students:  
        # 打印每个学生的姓名和成绩  
        print(f"{student.name}: {student.score}")  
  
# 定义find_student函数,用于查询并返回指定姓名的学生的成绩  
def find_student(students, name):  
    # 遍历students列表中的每个Student对象  
    for student in students:  
        # 如果找到姓名匹配的学生,则返回其成绩  
        if student.name == name:  
            return student.score  
    # 如果没有找到匹配的学生,则返回"学生未找到。"  
    return "学生未找到。"  
  
# 初始化一个空列表,用于存储学生信息  
students = []  
  
# 使用while循环实现用户交互  
while True:  
    # 显示系统菜单  
    print("\n学生成绩管理系统")  
    print("1. 添加学生")  
    print("2. 显示所有学生")  
    print("3. 查询学生成绩")  
    print("4. 退出")  
      
    # 获取用户的选择  
    choice = input("请选择操作(1/2/3/4):")  
      
    # 根据用户的选择执行相应的操作  
    if choice == '1':  
        name = input("请输入学生姓名:")  
        score = float(input("请输入学生成绩:"))  
        add_student(students, name, score)  
    elif choice == '2':  
        display_students(students)  
    elif choice == '3':  
        name = input("请输入要查询的学生姓名:")  
        # 查询并打印指定学生的成绩  
        print(f"{name}的成绩是:{find_student(students, name)}")  
    elif choice == '4':  
        print("感谢使用学生成绩管理系统!")  
        # 退出循环,结束程序  
        break  
    else:  
        # 如果用户输入了无效的选择,则提示重新选择  
        print("无效输入,请重新选择。")

运行程序:

学生成绩管理系统
1. 添加学生
2. 显示所有学生
3. 查询学生成绩
4. 退出
请选择操作(1/2/3/4):1
请输入学生姓名:张三
请输入学生成绩:87

学生成绩管理系统
1. 添加学生
2. 显示所有学生
3. 查询学生成绩
4. 退出
请选择操作(1/2/3/4):1
请输入学生姓名:李四
请输入学生成绩:74

学生成绩管理系统
1. 添加学生
2. 显示所有学生
3. 查询学生成绩
4. 退出
请选择操作(1/2/3/4):3
请输入要查询的学生姓名:张三
张三的成绩是:87.0

学生成绩管理系统
1. 添加学生
2. 显示所有学生
3. 查询学生成绩
4. 退出
请选择操作(1/2/3/4):3
请输入要查询的学生姓名:李四
李四的成绩是:74.0

学生成绩管理系统
1. 添加学生
2. 显示所有学生
3. 查询学生成绩
4. 退出
请选择操作(1/2/3/4):2
张三: 87.0
李四: 74.0

学生成绩管理系统
1. 添加学生
2. 显示所有学生
3. 查询学生成绩
4. 退出
请选择操作(1/2/3/4):4
感谢使用学生成绩管理系统!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长风清留扬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值