open(name[, mode[, buffering]])函数可以打开诸如txt,csv等格式的文件。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
如下定义file_read()函数:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

  1. def read_file(file):
  2. """接收文件名为参数,读取文件中的数据到字符串中,返回字符串"""
  3. with open(file, 'r', encoding='utf-8') as text: # 创建文件对象
  4. txt =text.read() # 读文件为字符串
  5. return txt # 返回字符串

上面的函数read_file(file)可以读取名为file的文件内容,以字符串形式返回txt,请继续编程统计字符串txt中大写字母、小写字母、数字、空格和其它字符的数量。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
提示:

  1. ch.isupper()函数判断字符ch是否为大写字母,返回True/False。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
  2. ch.islower()函数判断字符ch是否为小写字母,返回True/False。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
  3. ch.isdigit()函数判断字符ch是否为数字,返回True/False。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
  4. ch.isspace()函数判断字符ch是否为空白字符,包括空格,制表符,换行符,回车符,垂直制表符等,返回True/False

‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪判断空格可用是否为空格字符串’ ‘‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
使用upper,lower,digit,space,other五个变量代表不同种类的字符个数,设定初值为0,在循环过程中按照判断结果进行累加。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
函数返回时使用return upper, lower, digit, space, other语句,返回值为元组类型。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
输入格式:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
输入为一行,是一个文本文件名,如example1.txt。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
输出格式:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
输出为一行,是对名为example1.txt文件的内容进行分类统计后的结果, 输出形如:“ 大写字母m个,小写字母n个,数字o个,空格p个,其他q个 ”,具体格式见示例。

  1. import string
  2. def read_file(file):
  3. """接收文件名为参数,读取文件中的数据到字符串中,返回这个字符串"""
  4. with open(file, 'r', encoding='utf-8') as f:
  5. return f.read()
  6. def classify_char(txt):
  7. """接收字符串为参数,依序返回大写字母、小写字母、数字、空格、和其他字符数量"""
  8. upper, lower, digit, space, other = 0, 0, 0, 0, 0
  9. for ch in txt:
  10. if ch.islower():
  11. lower = lower + 1
  12. elif ch.isupper():
  13. upper = upper + 1
  14. elif ch.isnumeric():
  15. digit = digit + 1
  16. elif ch==' ':
  17. space = space + 1
  18. else:
  19. other = other + 1
  20. return upper, lower, digit, space, other
  21. if __name__ == '__main__':
  22. filename = input() # 读入文件名
  23. text = read_file(filename) # 调用函数读文件中的内容为字符串
  24. classify = classify_char(text) # 调用函数分类统计字符数量
  25. print('大写字母{}个,小写字母{}个,数字{}个,空格{}个,其他{}个'.format(*classify))

统计英文文件中的单词数

描述‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
open(name[, mode[, buffering]])函数可以打开诸如txt,csv等格式的文件。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
如下,定义了file_read()函数:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

  1. def read_file(file):
  2. """接收文件名为参数,读取文件中的数据到字符串中,返回字符串"""
  3. with open(file, 'r', encoding='utf-8') as text: # 创建文件对象
  4. txt =text.read() # 读文件为字符串
  5. return txt # 返回字符串

read_file(file)可以读取名为file的文件内容,以字符串的形式返回txt,请继续编程统计字符串txt中单词的数量。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
提示:统计单词数量时,形如It’s、Let’s 、don’t的缩写形式要按2个单词计数。另外为了处理方便,约定所有测试文件中没有’s表示所有格的情况。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
输入格式:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
输入为一行,是一个文本文件名,如example1.txt。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
输出格式:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
输出为一行,是对名为example1.txt的文件内容进行单词数目统计后的结果, 输出“共有m个单词”,具体格式见示例。

  1. def read_file(file):
  2. """接收文件名为参数,读取文件中的数据到字符串中,返回这个字符串"""
  3. with open(file, 'r', encoding='utf-8') as f:
  4. return f.read()
  5. def word_list(txt):
  6. """接收字符串为参数,用空格替换字符串中所有标点符号,根据空格将字符串切分为列表
  7. 返回值为元素为单词的列表"""
  8. for ch in "!\"'#$%&()*+,-.:;<=>?@[\\]^_{|}~/":
  9. txt = txt.replace(ch, " ") # 所有符号替换为空格
  10. return txt.split() # 切分为列表,返回列表
  11. def number_of_words(ls):
  12. """接收一个以单词为元素的列表为参数,返回列表中单词数量,返回值为整型"""
  13. total_words = len(ls) # 列表长度
  14. return total_words
  15. if __name__ == '__main__':
  16. filename = input() # 读入文件名
  17. text = read_file(filename) # 读取文件得到文件内容,存入text
  18. words_list = word_list(text) # 处理text,得到单词的列表
  19. words_counts = number_of_words(words_list)#统计单词列表word_list里的单词数
  20. print(f'共有{words_counts}个单词')