Python学习第五周第二次作业——文件和异常

第五周课后作业,第十章的练习题选几道写一下

10-2 C语言学习笔记 : 可使用方法replace() 将字符串中的特定单词都替换为另一个单词。读取你刚创建的文件learning_python.txt中的每一行, 将其中的Python都替换为另一门语言的名称, 如C。 将修改后的各行都打印到屏幕上。

filename = 'learning_python.txt'

with open(filename) as file_object:
    lines = file_object.readlines()

for line in lines:
    print(line.replace('Python', 'C').rstrip())

10-4 访客名单 : 编写一个while 循环, 提示用户输入其名字。 用户输入其名字后, 在屏幕上打印一句问候语, 并将一条访问记录添加到文件guest_book.txt中。 确保这个文件中的每条记录都独占一行 。

names = []
while True:
    name = input("What's your name?")
    if name == '-1':
        break
    names.append(name)
    print('Hello, ' + name.title())

filename = 'guest_book.txt'

with open(filename,'w') as file_object:
    for name in names:
        file_object.write(name.title() + '\n')

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

try:
    num1 = input("Please input one addend.")
    num1 = int(num1)
    num2 = input("Please input another.")
    num2 = int(num2)
except ValueError:
    print("请确保输入为数字")
else:
    print(num1+num2)

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

import json

with open('numbers.json', 'w') as file_number:
     number = input('请输入你最喜欢的数字')
     json.dump(number, file_number)
     file_number.close()
     
with open('numbers.json', 'r') as file_number:
    number = json.load(file_number)
    print("I know your favorite number! It's " + number + '.')

10-11 喜欢的数字 : 编写一个程序, 提示用户输入他喜欢的数字, 并使用json.dump() 将这个数字存储到文件中。 再编写一个程序, 从文件中读取这个值, 并打印消息“I know your favorite number! It's _____.”

try:
    files = ['cats.txt', 'dogs.txt']
    for filename in files:
        with open(filename) as file1:
            lines = file1.readlines()
            for line in lines:
                print(line)
        print()
except FileNotFoundError:
    print('请确认文件是否在当前路径')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值