python练习题:文本分析(1)——统计文件中的字符

这题就是填一些简单代码,相信来认真看代码的找问题应该是第三个测试没有出来(空格数目对不上),我一开始也被摆了一道,后面仔细排查了下,发现题目里的space只针对空格(老坑了),所以把c.isspace()换成c==" "即可

这里就不上题目了(反正没啥用),直接上代码

import string

def read_file(file):
    """接收文件名为参数,读取文件中的数据到字符串中,返回这个字符串"""
    with open(file, 'r', encoding='utf-8') as f:
        return f.read()

def classify_char(txt):
    """接收字符串为参数,依序返回大写字母、小写字母、数字、空格、和其他字符数量"""
    upper, lower, digit, space, other = 0, 0, 0, 0, 0
    for c in text:
        if c.isupper():
            upper+=1
        elif c.islower():
            lower+=1
        elif c.isdigit():
            digit+=1
        elif c==" ":
            space+=1
        else:
            other+=1
#####
    return upper, lower, digit, space, other

if __name__ == '__main__':
    filename = input()              # 读入文件名
    text = read_file(filename)      # 调用函数读文件中的内容为字符串
    classify = classify_char(text)  # 调用函数分类统计字符数量
    print('大写字母{}个,小写字母{}个,数字{}个,空格{}个,其他{}个'.format(*classify))

  • 4
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值