码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-07-10 01:00:37      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:div   input   strip   names   strip()   问题   put   try   文件中   

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

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

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

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

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

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

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

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

 

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

标签:div   input   strip   names   strip()   问题   put   try   文件中   

原文地址:https://www.cnblogs.com/shirley-yang/p/11161323.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!