Python 练习10-6:加法运算 ; 练习10-7:加法计算器 ; 练习10-8:猫和狗 ; 练习10-9:静默的猫和狗 ; 练习10-10:常见单词

练习10-6:加法运算 

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

复制代码
first_num = input("Enter a  first number : ")
sec_num = input("Enter a  sec number : ")

try:
    first_num = int(first_num)
    sec_num = int(sec_num)
except ValueError:
    print('只能输入数字~!')
else:
    print(first_num+sec_num)
复制代码

 

练习10-7:加法计算器 

将为完成练习10-6而编写的代码放在一个while循环中,让用户犯错(输入的是文本而不是数)后能够继续输入数。

复制代码
while True:
    first_num = input("Enter a  first number : ")
    if first_num == 'q':
        break
    sec_num = input("Enter a  sec number : ")
    if sec_num == 'q':
        break

    try:
        first_num = int(first_num)
        sec_num = int(sec_num)
    except ValueError:
        print('只能输入数字~!')
    else:
        print(first_num+sec_num)
复制代码

 

练习10-8:猫和狗 

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

复制代码
filename = 'dogs.txt'

try:
    with open(filename) as f:
        content = f.readlines()
except FileNotFoundError:
    print(f'{filename}该文件未找到!')
else:
    for cats in content:
        print(cats.rstrip())
复制代码

 

练习10-9:静默的猫和狗 

修改你在练习10-8中编写的except代码块,让程序在任意文件不存在时静默失败。

复制代码
filename = 'dogs.txt'

try:
    with open(filename) as f:
        content = f.readlines()
except FileNotFoundError:
    # print(f'{filename}该文件未找到!')
    pass
else:
    for cats in content:
        print(cats.rstrip())
复制代码

 

练习10-10:常见单词 

访问古登堡计划,找一些你想分析的图书。下载这些作品的文本文件或将浏览器中的原始文本复制到文本文件中。

复制代码
filename = 'dog.txt'

try:
    with open(filename) as f:
        content = f.read()
except FileNotFoundError:
    print(f'{filename}该文件未找到!')

else:
    print(content.count('3dog'))
复制代码

 

posted @   茶叶蛋蛋  阅读(439)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示