文件和异常练习2——PYTHON编程从入门到实践

本文探讨了Python中处理用户输入异常和文件读取错误的方法。通过实例展示了如何使用try-except语句来捕获并处理TypeError和FileNotFoundError异常,确保程序在遇到非数字输入或缺失文件时仍能优雅地运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

10——6 加法运算:提示用户输入提供数值输入,常出现的一个问题是,用户提供的是文本而不是数字。这种情况下,当你尝试将输入转换为整数时,将 引发TypeError异常。编写一个程序,提示用户输入两个数字,再将它们相加并打印结果。在用户输入的任何一个值不是数字时都捕获TypeError异常,并打印一条友好的错误消息。对编写的程序测试:先输入两个数字,在输入一些文本而不是数字。

[url=][/url]
print("Enter two numbers, and I'll add them.")first_number = input("\nFirst number: ")second_number = input("Second number: ")try:    nums_sum = int(first_number) + int(second_number)    print(first_number + '+' + second_number + '=' + str(nums_sum))except ValueError:    print("Sorry! Only accept numbers input.")[url=][/url]

 

10-7 加法计算器:将10-6的代码放在一个while循环中,让用户犯错(输入是文本而不是数字之)后能够继续输入数字。

[url=][/url]
print("Enter two numbers, and I'll add them.")print("Enter 'q' to quit.")while True:    first_number = input("\nFirst number: ")    if first_number == 'q':        break    second_number = input("Second number: ")    if second_number == 'q':        break    try:        nums_sum = int(first_number) + int(second_number)        print(first_number + '+' + second_number + '=' + str(nums_sum))    except ValueError:        print("Sorry! Only accept numbers input.")[url=][/url]

 

10-8 猫和狗:创建两个文件cats.txt和dogs.txt,在第一个文件中至少存储三只猫的名字,而在第二个文件中至少存储三条狗的名字。编写一个程序,尝试读取这些文件,并将其内容打印到屏幕上。将这些代码放在一个try-except代码块中,以便文件不存在时捕获FileNotFound错误,并打印一条友好消息。将其中一个文件转移到另一个地方,并确认except代码块中代码正确执行。

[url=][/url]
file_names = ['cats.txt', 'dogs.txt']for filename in file_names:    try:        with open(filename) as f_obj:            names = f_obj.read()            print(filename + " include:\n" + names.rstrip())    except FileNotFoundError:        print("Sorry, the file " + filename + " can not fond.")[url=]

 

[/url]
 

10-9 沉默的猫和狗:修改10-8的代码块,让程序文件不存在时一言不发。

[url=]

 

[/url]
file_names = ['cats.txt', 'dogs.txt']for filename in file_names:    try:        with open(filename) as f_obj:            names = f_obj.read()            print(filename + " include:\n" + names.rstrip())    except FileNotFoundError:        pass[url=]

 

[/url]
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值