赞
踩
类型:字符串
读取文件中的内容为字符串可以用以下函数实现:
# 读文件,返回字符串,file为文件名变量,若为文件名时,须为字符串类型
def read_file(file):
with open(file, 'r', encoding='utf-8') as f:
return f.read() # 返回值为字符串
读取附件中的文件,完成以下操作:
isspace()
方法判断)和其他字符的数量在密码学中,凯撒密码是一种最简单且最广为人知的加密技术。“恺撒密码”据传是古罗马恺撒大帝用来保护重要军情的加密系统。它是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推,小写字母也一样处理,其他字符忽略,不作任何改变。
一个代表星期几的单词,‘Monday’, ‘Tuesday’, ‘Wednesday’, ‘Thursday’, ‘Friday’, ‘Saturday’, 'Sunday’中的一个
依序输出:
输入:
Tuesday
输出:
16 306 11 84 17
共有86单词
7
Ayplk 3 aptlz mvy bupclyzpaf. Hss mhpslk.
P hwwsplk mvy Ohychyk mvy 10 aptlz. Hss mhpslk, aolf kvu’a lclu dhua av zll tl.
Mvy aol shza aptl, P dlua av aol alhjolyz’ jvsslnl dopjo dhz jvuzpklylk aol aopyk vy mvbyao jshzz vm tf jpaf.
P hwwsplk qviz mvy 30 aptlz. Nva ylqljalk.
Pa dhz zv kpmmpjbsa ha aoha aptl, P dhz zv mybzayhalk.
Iljhbzl P ahbnoa pu aol bupclyzpaf. Tf whf dhz $10 h tvuao.
Iljhbzl P jvbsk uva mpuk h nvvk qvi pu 1994.
# -------- ------- -------- # @Author : 赵广辉 # @Contact: vasp@qq.com # @Company: 武汉理工大学 # @Version: 1.0 # @Modify : 2022/06/13 11:33 # Python程序设计基础,赵广辉,高等教育出版社,2021 # Python程序设计基础实践教程,赵广辉,高等教育出版社,2021 # -------- ------- -------- 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 ch in txt: if ch.islower(): lower = lower + 1 elif ch.isupper(): upper = upper + 1 elif ch.isnumeric(): digit = digit + 1 elif ch.isspace(): space = space + 1 else: other = other + 1 return upper, lower, digit, space, other # 用空格替换所有符号,切分为列表 def word_list(txt): for ch in '!"#$%&()*+,-.:;<=>?@[\\]^_’‘{|}~/': txt = txt.replace(ch, " ") # 所有符号替换为空格 # print(txt) return txt.split() # 切分为列表,返回列表 # 返回单词数量 def number_of_words(ls): total_words = len(ls) # 列表长度 return total_words # 列表长度即单词个数 # 用字符串中字符ASCII值的和对26取模为偏移量 def offset_cal(day): sum_of_ch = 0 for c in day: sum_of_ch = sum_of_ch + ord(c) offset = sum_of_ch % 26 return offset def kaisa(txt, number): lower = string.ascii_lowercase # 小写字母 upper = string.ascii_uppercase # 大写字母 before = string.ascii_letters after = lower[number:] + lower[:number] + upper[number:] + upper[:number] table = ''.maketrans(before, after) # 创建映射表 return txt.translate(table) if __name__ == '__main__': filename = 'mayun.txt' # 读取的文件名 text = read_file(filename) # text为字符串 words_list = word_list(text) # 单词的列表 words_counts = number_of_words(words_list) # weeks = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'] secret_word = input() offset_number = offset_cal(secret_word) print(*classify_char(text)) print(f'共有{words_counts}单词') print(offset_number) print(kaisa(text, offset_number))
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。