Python实现一个文本处理系统,支持功能如下: 1. 接受用户输入的文本(必须>=5句话); 2. 排版文本格式并输出,每一个整句均换行显示; 3. 根据用户需求(用户输入)替换文本中的内容; 4. 根据用户需求(用户输入感兴趣的词),统计并输出词频,且打印该词出现在哪一句的什么位置; 5. 记录用户操作历史,保持文本和具体的操作对应(操作以功能序号记录即可),统计用户操作的文本数,每种功能使用的频率并排序。

时间: 2023-12-03 16:45:02 浏览: 17
好的,这个任务可以分为以下几个步骤来实现: 1. 接受用户输入的文本,并进行初步处理,确保输入的文本长度>=5句话; 2. 对文本进行排版,每一个整句均换行显示; 3. 根据用户需求,替换文本中的内容; 4. 根据用户需求,统计并输出感兴趣词的词频,并打印出该词出现在哪一句的什么位置; 5. 记录用户操作历史,统计用户操作的文本数、每种功能使用的频率并排序。 下面我将分别介绍如何实现这些功能。 ### 1. 接受用户输入的文本 可以使用 Python 内置的 input() 函数来接受用户输入的文本,然后使用 split() 函数将文本按照句子分隔开,然后判断句子的数量是否>=5,如果不足5句,则提示用户重新输入。 ```python while True: text = input("请输入文本(至少5句话):") sentences = text.split("。") if len(sentences) >= 5: break else: print("输入的文本句子数量不足5句,请重新输入!") ``` ### 2. 排版文本格式并输出 可以使用 for 循环遍历句子列表 sentences,然后依次输出每个句子,并在每个句子后面加上换行符。 ```python print("排版后的文本:") for sentence in sentences: print(sentence + "。") ``` ### 3. 根据用户需求,替换文本中的内容 可以使用 Python 内置的 replace() 函数来实现替换功能,这个函数接受两个参数,第一个参数是要被替换的字符串,第二个参数是替换后的字符串。 ```python while True: choice = input("是否需要替换文本中的内容?(是/否):") if choice == "是": old_word = input("请输入要替换的单词或短语:") new_word = input("请输入替换后的单词或短语:") text = text.replace(old_word, new_word) sentences = text.split("。") break elif choice == "否": break else: print("输入有误,请重新输入!") ``` ### 4. 根据用户需求,统计并输出感兴趣词的词频,并打印出该词出现在哪一句的什么位置 可以使用 Python 内置的 count() 函数来统计感兴趣词的词频。首先让用户输入感兴趣的词,然后遍历每个句子,使用 split() 函数将句子按照空格分隔开,然后使用 count() 函数统计感兴趣词在句子中出现的次数。如果某个句子中出现了感兴趣词,则打印出该词出现在哪一句的什么位置。 ```python while True: choice = input("是否需要统计感兴趣词的词频?(是/否):") if choice == "是": word = input("请输入感兴趣的词:") count = 0 for i, sentence in enumerate(sentences): if word in sentence: pos = sentence.index(word) count += sentence.count(word) print(f"感兴趣词“{word}”出现在第{i+1}句,位置为{pos}。") print(f"感兴趣词“{word}”在文本中出现了{count}次。") break elif choice == "否": break else: print("输入有误,请重新输入!") ``` ### 5. 记录用户操作历史,统计用户操作的文本数、每种功能使用的频率并排序 可以使用字典来记录用户操作历史,其中键是功能序号,值是一个列表,列表中存储了该功能被使用的次数和使用该功能时文本的内容。每次用户使用某个功能时,就将该功能序号和文本内容添加到字典中。最后,可以按照每种功能使用的频率进行排序,并输出统计结果。 ```python history = {} text_count = 1 while True: print("="*20) print("请选择要执行的功能:") print("1. 接受用户输入的文本") print("2. 排版文本格式并输出") print("3. 替换文本中的内容") print("4. 统计感兴趣词的词频") print("0. 退出") choice = input("请输入功能序号:") if choice == "1": while True: text = input("请输入文本(至少5句话):") sentences = text.split("。") if len(sentences) >= 5: history.setdefault(choice, []).append((text_count, text)) text_count += 1 break else: print("输入的文本句子数量不足5句,请重新输入!") elif choice == "2": print("排版后的文本:") for sentence in sentences: print(sentence + "。") history.setdefault(choice, []).append((text_count, text)) elif choice == "3": while True: old_word = input("请输入要替换的单词或短语:") new_word = input("请输入替换后的单词或短语:") if old_word.strip() and new_word.strip(): text = text.replace(old_word, new_word) sentences = text.split("。") history.setdefault(choice, []).append((text_count, text)) text_count += 1 break else: print("输入不能为空,请重新输入!") elif choice == "4": while True: word = input("请输入感兴趣的词:") if word.strip(): count = 0 for i, sentence in enumerate(sentences): if word in sentence: pos = sentence.index(word) count += sentence.count(word) print(f"感兴趣词“{word}”出现在第{i+1}句,位置为{pos}。") print(f"感兴趣词“{word}”在文本中出现了{count}次。") history.setdefault(choice, []).append((text_count, word)) text_count += 1 break else: print("输入不能为空,请重新输入!") elif choice == "0": break else: print("输入有误,请重新输入!") print("用户操作历史:") for i, (key, value) in enumerate(sorted(history.items(), key=lambda x: len(x[1]), reverse=True)): print(f"{i+1}. 功能{key} 共操作了{len(value)}次") print(f"共输入了{text_count-1}段文本")

相关推荐

最新推荐

389页PPT精益智能工厂数字化转型、制造工厂蓝图三年规划、数字化智能工厂建设方案.zip

389页为5份PPT文档页数总和。 38页柔性制造企业数字化转型与智能工厂建设方案.pptx 48页数字化智能工厂框架及智慧场景应用解决方案.pptx 82页PPT精益智能工厂数字化转型、制造工厂蓝图三年规划方案.pptx 98页PPTX大型制造业数字化转型战略规划项目(交付版).pptx 制造业数字化转型解决方案及应用(125页 PPT).pptx

毕业设计 多模态头颈癌识别代码.zip

毕业设计是高等教育阶段学生完成学业的一个重要环节,通常在学士或硕士学业即将结束时进行。这是学生将在整个学业中所学知识和技能应用到实际问题上的机会,旨在检验学生是否能够独立思考、解决问题,并展示其专业能力的一项综合性任务。 毕业设计的主要特点包括: 独立性: 毕业设计要求学生具备独立思考和解决问题的能力。学生需要选择一个合适的课题,研究相关文献,进行实地调查或实验,并提出独立见解。 实践性: 毕业设计是将理论知识应用到实际问题中的一次实践。通过完成毕业设计,学生能够将所学的专业知识转化为实际的解决方案,加深对专业领域的理解。 综合性: 毕业设计往往要求学生运用多个学科的知识,综合各种技能。这有助于培养学生的综合素养,提高他们的综合能力。 导师指导: 学生在毕业设计过程中通常由一名指导老师或导师团队提供指导和支持。导师负责引导学生确定研究方向、制定计划、提供建议,并在整个过程中监督进展。 学术规范: 毕业设计要求学生按照学术规范完成研究,包括文献综述、研究设计、数据采集与分析、结论和讨论等环节。学生需要撰写一篇完整的毕业论文,并进行答辩。

ISO_6017-2024 Small craft — Automatic watertight ventilation sh

ISO_6017-2024 Small craft — Automatic watertight ventilation shutdown systgem.pdf

计算机二级备考经验.zip

计算机二级备考经验.zip计算机二级备考经验.zip

微博爬虫。通过调用weibo api,而非暴力爬取的方式获取信息。.zip

爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。

GIS设备运行管理重点及运行注意事项PPT课件.pptx

GIS设备运行管理重点及运行注意事项PPT课件.pptx

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire

电子商务中的多渠道销售管理技术

# 1. 多渠道销售管理技术的概述 1.1 电子商务中的多渠道销售概念及特点 在当今数字化时代,多渠道销售已成为企业成功的关键。多渠道销售是指企业通过多种不同的销售渠道(如线下实体店铺、线上电子商务平台、移动应用等)向消费者提供产品或服务的销售模式。这种模式的特点包括覆盖面广、销售渠道多样化、服务体验多样化等。 1.2 多渠道销售管理技术的重要性 多渠道销售管理技术的引入可以有效帮助企业实现跨渠道销售数据的整合与分析,提高销售效率,优化用户体验,增强市场竞争力。通过技术手段的支持,企业可以更好地监控和管理不同销售渠道的表现,及时作出调整和改进。 1.3 多渠道销售管理技术对商业发展的影响

cuda 的库目录环境变量, 在cmake中

在 CMake 中,可以使用 `find_library()` 函数来查找 CUDA 库文件并将其链接到目标中。此函数会自动查找 CUDA 库文件所在的目录,并将该目录添加到目标的链接器路径中。如果需要指定 CUDA 库文件的目录,可以在 `find_library()` 函数中设置 `PATHS` 参数。例如,以下代码段可以在 CMake 中查找 CUDA 库文件并将其链接到目标中: ``` find_library(CUDA_LIBS cudart PATHS /path/to/cuda/lib) target_link_libraries(my_target ${CUDA_LIBS}

知识产权大数据平台建设方案.docx

知识产权大数据平台建设方案.docx