input输入多行文本:删除“首先 其次 此外 总的来说”


input允许多行输入
233.3表示停止输入input输入多行文本

文本

(空行) (空行) (空行) 正文 (空行) (空行) (空行) 正文 (空行) (空行) (空行) 正文 (空行) (空行) (空行) (空行) 正文 (空行) 正文 (空行) 正文 (空行) (空行) (空行) 正文 (空行) (空行) (空行) 正文 (空行) (空行) 正文 (空行) 正文 (空行) 正文 (空行) 正文 (空行) (空行)

把
>2个空行
正文
>1个空行查找替换:'# 正文'在
正文
(空行)
正文
(空行)
正文
(空行)
正文
(空行)
里每个段落的第1个字至第1个标点符号那里,通常是,逗号,看看有
“首先 其次 此外 总的来说”
随机删除前3个或者后3个。
比如删除“首先 其次 此外“或者保留“首先 总的来说”
233.3
Traceback (most recent call last):File "/storage/emulated/0/qpython/删除行 1.3.2.1.查找替换“首先其次此外总的来说”1.1. 1..2.py", line 51, in <module>new_text = process_text(text)^^^^^^^^^^^^^^^^^^File "/storage/emulated/0/qpython/删除行 1.3.2.1.查找替换“首先其次此外总的来说”1.1. 1..2.py", line 32, in process_textidx = random.randint(0, len(keywords)  - 1)^^^^^^
NameError: name 'random' is not defined
1|:/ $

由于漏掉了导入random模块,在程序开头添加以下代码即可:

import random

然后再次运行程序就可以了。

在这里插入图片描述

你的输入格式比较特殊,需要按照一定格式进行处理。以下是代码实现:

def process_text(text):# 先按照多个空行分割文本paragraphs = text.split('\n\n\n\n')new_text = ''for para in paragraphs:# 去除段落开头结尾的空白符para = para.strip()if not para:continue# 替换掉指定字符para = para.replace('>2个空行\n', '')para = para.replace('>1个空行\n', '# 正文\n')# 将每个段落按照标点符号分割成句子sentences = para.split('。')new_para = ''for sent in sentences:# 如果句子为空或者只包含空白符则跳过if not sent.strip():continue# 找到第一个标点符号的位置punc_index = len(sent)for punc in [',', '。', ',', '.', '!', '?']:index = sent.find(punc)if index != -1 and index < punc_index:punc_index = index# 我们只考虑第一个标点符号之前的内容first_part = sent[:punc_index]# 随机删除前3个或者后3个keywords = ['首先', '其次', '此外', '总的来说']for i in range(3):if keywords:idx = random.randint(0, len(keywords) - 1)keyword = keywords.pop(idx)if keyword in first_part:first_part = first_part.replace(keyword, '')# 将处理后的内容拼接起来new_sent = first_part + sent[punc_index]new_para += new_sent# 将处理后的段落拼接到最终的文本中new_text += new_para + '\n\n'return new_text# 读取多行输入,直到输入为"233.3"
text = ''
while True:line = input()if line == '233.3':breaktext += line + '\n'new_text = process_text(text)
print(new_text)

你可以将上面的代码复制到Python环境中运行,输入你的多行文本,然后等待程序输出即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/125747.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《Secure Analytics-Federated Learning and Secure Aggregation》论文阅读

背景 机器学习模型对数据的分析具有很大的优势&#xff0c;很多敏感数据分布在用户各自的终端。若大规模收集用户的敏感数据具有泄露的风险。 对于安全分析的一般背景就是认为有n方有敏感数据&#xff0c;并且不愿意分享他们的数据&#xff0c;但可以分享聚合计算后的结果。 联…

商业智能系统的主要功能包括数据仓库、数据ETL、数据统计输出、分析功能

ETL服务内容包含&#xff1a; 数据迁移数据合并数据同步数据交换数据联邦数据仓库

STM32复习笔记(五):FSMC连接外部SRAM

目录 Preface&#xff1a; &#xff08;一&#xff09;原理相关 &#xff08;二&#xff09;CUBEMX配置 &#xff08;三&#xff09;轮询方式读写 &#xff08;四&#xff09;DMA方式读写 Preface&#xff1a; STM32F4有一个FSMC&#xff08;Flexible Static Memory Contr…

【ORM】浅聊C#和Java的ORM底层框架

给自己一个目标&#xff0c;然后坚持一段时间&#xff0c;总会有收获和感悟&#xff01; 国庆假期马上结束&#xff0c;闲暇时间&#xff0c;突然对Ado.Net这个词的由来感兴趣&#xff0c;然后就一顿复习了一遍&#xff0c;顺便也了解了下java关于ORM框架的底层是什么&#xff…

华为云云耀云服务器L实例评测|SpringCloud相关组件——nacos和sentinel的安装和配置 运行内存情况 服务器被非法登陆尝试的解决

前言 最近华为云云耀云服务器L实例上新&#xff0c;也搞了一台来玩&#xff0c;期间遇到各种问题&#xff0c;在解决问题的过程中学到不少和运维相关的知识。 本篇博客介绍SpringCloud相关组件——nacos和sentinel的安装和配置&#xff0c;并分析了运行内存情况&#xff0c;此…

三个要点,掌握Spring Boot单元测试

单元测试是软件开发中不可或缺的重要环节&#xff0c;它用于验证软件中最小可测试单元的准确性。结合运用Spring Boot、JUnit、Mockito和分层架构&#xff0c;开发人员可以更便捷地编写可靠、可测试且高质量的单元测试代码&#xff0c;确保软件的正确性和质量。 一、介绍 本文…

lv7 嵌入式开发-网络编程开发 11 TCP管理与UDP协议

目录 1 TCP管理 1.1 三次握手 1.2 四次挥手 1.3 保活计时器 2 wireshark安装及实验 3.1 icmp协议抓包演示 3.2 tcp协议抓包演示 3 UDP协议 3.1 UDP 的主要特点&#xff1a; 4 练习 1 TCP管理 1.1 三次握手 TCP 建立连接的过程叫做握手。 采用三报文握手&#xff1…

[C国演义] 第十三章

第十三章 三数之和四数之和 三数之和 力扣链接 根据题目要求: 返回的数对应的下标各不相同三个数之和等于0不可包含重复的三元组 – – 即顺序是不做要求的 如: [-1 0 1] 和 [0, 1, -1] 是同一个三元组输出答案顺序不做要求 暴力解法: 排序 3个for循环 去重 — — N^3, …

Nginx与Spring Boot的错误模拟实践:探索502和504错误的原因

文章目录 前言502和504区别---都是Nginx返回的access.log和error.log介绍SpringBoot结合Nginx实战502 and 504准备工作Nginx配置host配置SpringBoot 502模拟access.logerror.log 504模拟access.logerror.log 500模拟access.logerror.log 总结 前言 刚工作那会&#xff0c;最常…

nodejs+vue中医体质的社区居民健康管理系统elementui

可以实现首页、中医体质量表、健康文章、健康视频、我的等&#xff0c;在我的页面可以对医生、小区单元、医疗药品等功能进行操作。目前主要的健康管理系统是以西医为主&#xff0c;而为了传扬中医文化&#xff0c;提高全民健康意识&#xff0c;解决人民日益增长的美好生活需要…

CleanMyMac X4.14.1最新版本下载

CleanMyMac X是一个功能强大的Mac清理软件&#xff0c;它的设计理念是提供多个模块&#xff0c;包括垃圾清理、安全保护、速度优化、应用程序管理和文档管理粉碎等&#xff0c;以满足用户的不同需求。软件的界面简洁直观&#xff0c;让用户能够轻松进行日常的清理操作。 使用C…

【uniapp+vue3+ts】请求函数封装,请求和上传文件拦截器

1、uniapp 拦截器 uni.addInterceptor(STRING,OBJECT) 拦截器中包括基础地址、超时时间、添加请求头标识、添加token utils文件夹下新建http.ts 拦截uploadFile文件上传&#xff0c;rquest请求接口 cosnt baseUrl xxxx// 添加拦截器 const httpInterceptor {//拦截前触发i…