python 文本内容随机生成器

 

这段代码是一个用于生成指定长度的随机文本的函数。主要包括两个函数:generate_text()generate_other_content()

generate_text(original_text, length)函数接受两个参数:原始文本和生成文本的长度。该函数的作用是根据原始文本生成指定长度的文本。

首先,函数会去掉原始文本中的换行符和空格,以便后续处理。

然后,函数判断如果指定的长度小于等于原始文本的长度,则直接截取原始文本的一部分返回。

如果指定的长度大于原始文本的长度,函数将进入循环,每次生成一个字符,直到达到指定长度为止。在每4个单位(长度)插入其他内容,可以调用generate_other_content()函数生成其他内容。其他内容的生成逻辑可以根据需要自定义。

最后,函数返回生成的文本,并根据需要截取指定长度的部分。

generate_other_content()函数用于生成其他内容。这里只是一个示例,根据实际需求可以进行修改。当前的实现是从预定义的一组特殊字符中随机选择一个作为其他内容返回。

在代码的主程序部分,给定了一个原始文本和生成文本的长度。然后调用generate_text()函数生成指定长度的文本,并将结果打印输出。

最后,使用pyperclip库将生成的文本复制到剪贴板,以便进一步使用。

总之,这段代码的功能是生成指定长度的随机文本,其中每隔4个单位可能插入其他内容。

import random

def generate_text(original_text, length):
    # 去掉原始文本中的换行符和空格
    original_text = original_text.replace('\n', '')
    original_text = original_text.replace(' ', '')

    # 获取原始文本的长度
    original_length = len(original_text)

    # 如果指定的长度小于等于原始文本的长度,则直接截取原始文本
    if length <= original_length:
        start_index = random.randint(0, original_length - length)
        return original_text[start_index:start_index + length]

    # 从原始文本中随机选择字符生成指定长度的文本
    generated_text = ''
    current_length = 0
    while current_length < length:
        if current_length % 4 == 0 and current_length % 5 != 0:
            # 每4个单位插入其他内容
            other_content = generate_other_content()
            generated_text += other_content
            current_length += len(other_content)
        else:
            random_char = random.choice(original_text)
            generated_text += random_char
            current_length += 1

    return generated_text[:length]

def generate_other_content():
    # 生成其他内容的逻辑,可以根据需要自定义
    # 这里只是一个示例,可以根据实际需求进行修改
    other_contents = ['!', '@', '#', '$', '%', '&']
    return random.choice(other_contents)

if __name__ == '__main__':
    original_text = """
    ~!@#¥%……&*(钟鼓馔玉不足贵,)——+{}:“”,《》?:“”‘’
    0123钟鼓馔玉不足贵,456789
    AaBbCcDdEeFfGgHhIiJj0123钟鼓馔玉不足贵,456789KkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz
    君不见黄河之水天上来,奔流到海不复回。
    AaBbCcDdEeFfGgHhIiJ0123456789jKk钟鼓馔玉不足贵,LlMmNnOoPpQqRrSsTtUuVvWwXxYyZz
    君不见高堂明镜悲白发,朝如青丝暮成雪。
    AaBbCcDdEeFfGgHhIiJjKkLlMmN01234567钟鼓馔玉不足贵,89nOoPpQqRrSsTtUuVvWwXxYyZz
    人生得意须尽欢,莫使金樽空对月。
    ~!@#¥%……&*()——+{}:“”,《》?:“”‘’
    0123456789
    天生我材必有用,千金散尽还复来。
    烹羊宰牛且为乐,会须一饮三百杯。
    0123456789
    岑夫子,丹丘生,将进酒,杯莫停。
    0123456789
    与君歌一曲,请君为我倾耳听。(倾耳听 一作:侧耳听)
    AaBbCcDdEeFfGg钟鼓馔玉不足贵,HhIiJjKkLl0123456789MmNnOoPpQqRr钟鼓馔玉不足贵,SsTtUuVvWwXxYyZz
    钟鼓馔玉不足贵,但愿长醉不愿醒。
    AaBbCc钟鼓馔玉不足贵,DdEe0123456789FfGgHhIiJjKkLlMmNnOoPp钟鼓馔玉不足贵,QqRrSsTtUuVvWwXxYyZz
    古来圣贤皆寂寞,惟有饮者留其名。
    ~!@#¥%……&*(0123456789)——+{}:“”,《》?:“”‘’
    陈王昔时宴平乐,斗酒十千恣欢谑。
    0123456789
    主人何为言少钱,径须沽取对君酌。
    ~!@#¥%……&*(0123456789)钟鼓馔玉不足贵,——+{}:“”,《》?:“”‘’
    五花马、千金裘,呼儿将出换美酒,与尔同销万古愁。
    0123456789
    """

    length = 500  # 指定生成文本的长度

    # 调用生成文本函数
    generated_text = generate_text(original_text, length)

    print('---校验生成文本长度:', len(generated_text), '\n')
    print('---生成文本内容:',str(generated_text))

    data = str(generated_text)

    # pip install pyperclip
    import pyperclip
    pyperclip.copy(generated_text)
    print("\n---执行结果已复制到剪贴板!!!")


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

expected initializer before ‘XXXX’,但是明明有分号,而且在vs里面也能运行,但是在linux上就会报错

错误一&#xff1a;忘记加分号了&#xff1b; 解决&#xff1a;加分号&#xff1b;具体很简单&#xff0c;自己看看&#xff0c;多瞅瞅https://zhuanlan.zhihu.com/p/102627362 如果修改之后&#xff0c;成功的话那就太恭喜你了&#xff0c;下面的就别看了 错误二&#xff1…

064:vue中一维数组的全选、全不选、反选(图文示例)

第061个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏提供行之有效的源代码示例和信息点介绍&#xff0c;做到灵活运用。 &#xff08;1&#xff09;提供vue2的一些基本操作&#xff1a;安装、引用&#xff0c;模板使…

用可视化案例讲Rust编程2. 编码的核心组成:函数

从第一天学习编程&#xff0c;可能大家就听说这样的组成公式&#xff1a; 程序算法数据结构 ——该公式出自著名计算机科学家沃思(Nikiklaus Wirth) 实际上&#xff0c;程序除了以上两个主要要素之外&#xff0c;还应当采用结构化程序设计方法进行程序设计&#xff0c;并且用…

Redis性能大挑战:深入剖析缓存抖动现象及有效应对的战术指南

在实际应用中&#xff0c;你是否遇到过这样的情况&#xff0c;本来Redis运行的好好的&#xff0c;响应也挺正常&#xff0c;但突然就变慢了&#xff0c;响应时间增加了&#xff0c;这不仅会影响用户体验&#xff0c;还会牵连其他系统。 那如何排查Redis变慢的情况呢&#xff1f…

nginx配置 请求静态文件时带上额外的响应头信息

注意&#xff1a;这种方式添加的额外信息会出现在响应头中。 例如在location{}中&#xff0c;try_files之前添加如下信息&#xff1a; add_header X-Extra-Header "Value"; add_header X-Forwarded-For $proxy_add_x_forwarded_for; …

Gitlab-ci:从零开始的前端自动化部署

一.概念介绍 1.1 gitlab-ci && 自动化部署工具的运行机制 以gitlab-ci为例&#xff1a; (1) 通过在项目根目录下配置.gitlab-ci.yml文件&#xff0c;可以控制ci流程的不同阶段&#xff0c;例如install/检查/编译/部署服务器。gitlab平台会扫描.gitlab-ci.yml文件&…

【Python】Sigmoid和Hard Sigmoid激活函数对比总结及示例

Sigmoid和Hard Sigmoid是两种常用的激活函数&#xff0c;它们在神经网络中起到非线性变换的作用。以下是它们之间的对比和优缺点总结&#xff1a; Sigmoid激活函数&#xff1a; 优点&#xff1a; 输出范围是0到1之间&#xff0c;可以用于二分类问题。函数形状相对平滑&#…

【LeetCode】组合两个表(mysql)

题目 编写解决方案&#xff0c;报告 Person 表中每个人的姓、名、城市和州。如果 personId 的地址不在 Address 表中&#xff0c;则报告为 null 。 以 任意顺序 返回结果表。 结果格式如下所示。 答 select firstName ,lastName,city,state from Person left join Address …

使用pygame.draw绘制基本图形

import pygame# 初始化pygame pygame.init()# 创建显示窗口 screen pygame.display.set_mode((640, 480)) pygame.display.set_caption("绘制基本图形")# 定义颜色 BLACK (0, 0, 0) WHITE (255, 255, 255) RED (255, 0, 0) GREEN (0, 255, 0) BLUE (0, 0, 255)…

Mac安装nvm以及使用nvm安装node

1. 安装nvm命令 git clone https://gitee.com/mirrors/nvm.git ~/.nvm && cd ~/.nvm && git checkout git describe --abbrev0 --tags2. 配置环境变量 vi ~/.bash_profileexport NVM_DIR"$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] &&…

网络安全工具:通过监控分析日志数据保护企业网络

由于混合工作模式的兴起以及业务运营向云环境的迁移&#xff0c;企业网络变得更加分散和复杂&#xff0c;仅安装外围安全解决方案只会创建一个基本的防御层&#xff0c;系统、服务器和其他网络实体会生成记录所有网络活动的日志。集中式日志管理系统可以帮助管理员自动监控网络…

【教学类-45-06】正确 X-Y之间的三连加减题混合 (竖向排列)(44格:11题“++ ”11题“--”11题“ +-”11题“ -+” )

作品展示&#xff1a; 背景需求&#xff1a; 把以下四款3连题 混在一起&#xff0c;每种题目随机抽取11题&#xff0c;一共44格 出现问题&#xff1a; 1、- 、-里面有重复题 2、升序排列最好竖排展示 素材准备: ​ ​ 问题改正 1、单元格修改&#xff1a;确保竖列写入 …

【elastic search】JAVA操作elastic search

目录 1.环境准备 2.ES JAVA API 3.Spring Boot操作ES 1.环境准备 本文是作者ES系列的第三篇文章&#xff0c;关于ES的核心概念移步&#xff1a; https://bugman.blog.csdn.net/article/details/135342256?spm1001.2014.3001.5502 关于ES的下载安装教程以及基本使用&…

鸿蒙Harmony--状态管理器--@Prop详解

纵横千里独行客&#xff0c;何惧前路雨潇潇。夜半浊酒慰寂寞&#xff0c;天明走马入红尘。且将新火试新茶&#xff0c;诗酒趁年华。青春以末&#xff0c;壮志照旧&#xff0c;生活以悟&#xff0c;前路未明。时间善变&#xff0c;可执着翻不了篇。时光磨我少年心&#xff0c;却…

正则表达式、文件访问(Python实现)

一、主要目的&#xff1a; 1.了解正则表达式的基本概念和处理过程。 2.掌握使用正则表达式模块 Re 进行字符串处理的方法。 3.了解文件的基本概念和类型。 4.掌握在 Python 中访问文本文件的方法和步骤。 5.熟悉在 Python 中访问二进制文件的方法和步骤。 二、主要内容和结…

HelpLook VS Docusaurus:SaaS 知识库软件和 SSG 的对比

在选择文档工具时&#xff0c;需要考虑多个因素&#xff0c;如功能、易用性、成本等。Docusaurus是一个开源工具&#xff0c;它因其灵活性而受到文档团队的青睐&#xff0c;尤其是负责软件产品文档的团队。有些组织甚至可能要求使用开源软件&#xff0c;因此选择一个开源工具如…

读元宇宙改变一切笔记04_网络化

1. 思想实验 1.1. 如果森林中的一棵树倒下&#xff0c;但周围没有人听到&#xff0c;那它是否会发出声音&#xff1f; 1.1.1. “贝克莱的树” 1.2. 主观唯心主义哲学家乔治贝克莱(George Berkeley)提出的&#xff0c;他认为“存在就是被感知” 1.2.1. 如果有人或有其他事物…

CMake入门教程【高级篇】qmake转cmake

&#x1f608;「CSDN主页」&#xff1a;传送门 &#x1f608;「Bilibil首页」&#xff1a;传送门 &#x1f608;「动动你的小手」&#xff1a;点赞&#x1f44d;收藏⭐️评论&#x1f4dd; 文章目录 1. 概述2.qmake与cmake的差异3. qmake示例4.qmake转cmake示例5.MOC、UIC和RCC…

1991-2022年A股上市公司股价崩盘风险指标数据

1991-2022年A股上市公司股价崩盘风险指标数据 1、时间&#xff1a;1991-2022年 2、来源&#xff1a;整理自csmar 3、指标&#xff1a;证券代码、交易年度、NCSKEW(分市场等权平均法)、NCSKEW(分市场流通市值平均法)、NCSKEW(分市场总市值平均法)&#xff1b; NCSKEW(综合市…

网络协议与攻击模拟_03实施ARP欺骗和攻击

一、ARP攻击 1、实验环境 kali Linux &#xff08;安装arpspoof工具&#xff09;被攻击主机 2、kali配置 kali Linux系统是基于debian Linux系统&#xff0c;采用deb包管理方式&#xff0c;可以使用apt源的方式进行直接从源的安装。 配置kali网络源 vim /etc/apt/sources…