当前位置:首页>python>小白学python第80天之完成作业

小白学python第80天之完成作业

  • 2026-08-27 08:52:35
小白学python第80天之完成作业

2.25

完成作业

?

学前疑问

我们今天不学习新的知识点,只处理前面几天学习面向对象留下的作业,大家若是对作业解答有不同见解,都可以留言交流。

第77天

作业:

数据库连接管理器,题目要求:

请编写一个名为 DatabaseConnection的类,实现单例模式。要求如下:

① 该类只能创建一个实例。

② 如果尝试创建第二个实例,应返回第一个实例,而不是新建一个。

③ 该类有一个 get_connection_info()方法,用于返回一个简单的字符串,例如:"这是数据库连接信息..."。

④ 编写代码验证两个变量指向的是同一个对象。

classDatabaseConnection:    # 类属性,用于存储唯一的实例    __instance = None    # 重写 __new__ 方法来控制实例的创建    def __new__(cls, *args, **kwargs):        # 判断类属性 __instance 是否为 None        ifnot cls.__instance:            # 如果为 None,则调用父类的 __new__ 方法创建一个新实例,并赋值给 __instance            cls.__instance = super().__new__(cls, *args, **kwargs)            print("创建了唯一的数据库连接实例。")        else:            print("实例已存在,返回已创建的实例。")        # 返回存储在 __instance 中的唯一实例        return cls.__instance    def get_connection_info(self):        return"这是数据库连接信息..."# 验证代码if __name__ == '__main__':    # 尝试创建第一个对象    db_conn1 = DatabaseConnection()    # 尝试创建第二个对象    db_conn2 = DatabaseConnection()    # 打印两个对象的连接信息    print(db_conn1.get_connection_info())    print(db_conn2.get_connection_info())    # 验证两个变量是否指向同一个对象(内存地址相同)    print(f"db_conn1 和 db_conn2 是同一个对象吗?{db_conn1 is db_conn2}")    # 验证它们的内存地址(id)是否相同    print(f"db_conn1 的 id: {id(db_conn1)}")    print(f"db_conn2 的 id: {id(db_conn2)}")

第78天

作业:

设置一个程序,程序会提示用户输入一个数字,然后尝试将这个输入转换成整数。如果用户输入的内容无法转换为整数(例如输入了字母"abc"),程序会捕获这个错误,并打印一条友好的提示信息"输入错误,请输入一个有效的数字"。

user_input = input("请输入一个数字:")try:    number = int(user_input)  # 尝试将输入转换为整数    print(f"您输入的数字是:{number}")except ValueError:  # 捕获转换失败引发的 ValueError 异常    print("输入错误,请输入一个有效的数字。"

输入整数的结果:

输入非整数的结果:

第79天

作业:

简易文件读取与数据转换,题目要求:

请编写一个程序,尝试完成以下操作:

(1)提示用户输入一个文件名。

(2)尝试打开该文件,并读取文件中的第一行内容。

(3)尝试将读取到的内容转换为一个整数。

(4)打印转换成功后的整数。

程序需要处理以下两种可能的错误情况:

① 用户输入的文件不存在。(引发 FileNotFoundError)

② 文件中的内容无法转换为整数。(引发 ValueError)

try:    # 1. 提示用户输入文件名    filename = input("请输入要打开的文件名:")    # 2. 尝试打开文件并读取第一行(可能引发 FileNotFoundError)    with open(filename, 'r', encoding='utf-8') as f:        content = f.readline().strip()  # 读取一行并去除首尾空白字符        print(f"从文件中读取到的内容是:'{content}'")    # 3. 尝试将内容转换为整数(可能引发 ValueError)    number = int(content)    # 4. 如果以上步骤都成功,打印转换后的整数    print(f"成功转换为整数:{number}")except FileNotFoundError:    # 处理文件不存在的异常    print(f"错误:找不到文件 '{filename}',请检查文件名是否正确。")except ValueError:    # 处理内容转换失败的异常    print(f"错误:无法将内容 '{content}' 转换为整数。")finally:    # 无论是否发生异常,都会执行的代码块    print("程序执行完毕。")

输入存在的文件名:python.txt

输入不存在的文件名:adad

今日学习完毕,课后作业:  

有空的小伙伴,可以参考代码运行,还是建议不看着代码自己手打,学习效率更好。明天继续学习新的python知识点。

最新文章

随机文章