python 文本内容随机生成器

news2024/11/17 1:53:07

 

这段代码是一个用于生成指定长度的随机文本的函数。主要包括两个函数: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---执行结果已复制到剪贴板!!!")


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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

竞赛保研 基于深度学习的人脸识别系统

前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于深度学习的人脸识别系统 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f9ff; 更多资料, 项目分享&#xff1a; https://gitee.com/dancheng-senior/…

【SpringCloud】之网关应用(进阶使用)

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是君易--鑨&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的博客专栏《SpringCloud开发之网关应用》。&#x1f3af;&a…

基于ChatGPT4+Python近红外光谱数据分析及机器学习与深度学习建模

022年11月30日&#xff0c;可能将成为一个改变人类历史的日子——美国人工智能开发机构OpenAI推出了聊天机器人ChatGPT3.5&#xff0c;将人工智能的发展推向了一个新的高度。2023年4月&#xff0c;更强版本的ChatGPT4.0上线&#xff0c;文本、语音、图像等多模态交互方式使其在…

python——数字精度控制

num1 11 num2 11.345 print("数字11宽度限制为5&#xff0c;结果%5d" % num1) print("数字11宽度限制为1&#xff0c;结果%1d" % num1) print("数字11.345宽度限制为7&#xff0c;小数精度为2结果%7.2f" % num2) print("数字11.345不限制…

课堂纪律差如何整治

在教育的世界里&#xff0c;有时候课堂纪律会成为一种挑战。那些在教室里大声喧哗、无视规则的学生&#xff0c;常常让老师们头疼不已。那么&#xff0c;面对课堂纪律差的问题&#xff0c;我们应该如何有效整治呢&#xff1f;下面就让我来为你揭晓这个问题的答案。 一、建立明确…

比特币惊现“天地针”!ETF终局将至,美证监会账号被盗!谁该对市场波动负责?

就在投资者神经紧绷时刻&#xff0c;万众期待的ETF批准事件再次闹出“假新闻”大乌龙&#xff0c;而这次的主角竟是美证监会。 美国东部时间周二下午4:11&#xff0c;美国证券交易委员会&#xff08;SEC&#xff09;官方X账户发布帖子称&#xff1a;“今天&#xff0c;美国证券…

数据结构之单调栈、单调队列

今天学习了单调栈还有单调队列的概念和使用&#xff0c;接下来我将对其定义并配合几道习题进行讲解&#xff1a; 首先先来复习一下栈与队列&#xff1a; 然后我们来看一下单调栈的定义&#xff1a; 单调栈中的元素从栈底到栈顶的元素的大小是按照单调递增或者单调递减的关系进…

九州金榜|厌学原因孩子情绪不稳定

孩子厌学是每个家长都不愿因看到&#xff0c;因为厌学会对孩子学习造成极大的影响&#xff0c;对于学习成绩下降这是必然的结果&#xff0c;所以&#xff0c;当孩子出现厌学情绪的时候&#xff0c;家长就会非常焦虑&#xff0c;但是对于孩子为什么会厌学&#xff0c;家长并不知…

烟火检测/区域人流统计/AI智能分析网关V4如何配置通道?

TSINGSEE青犀智能分析网关&#xff08;V4版&#xff09;是一款高性能、低功耗的软硬一体AI边缘计算硬件设备&#xff0c;硬件内部署了近40种AI算法模型&#xff0c;支持对接入的视频图像进行人、车、物、行为等实时检测分析&#xff0c;并上报识别结果&#xff0c;并能进行语音…

java SSM问卷调查系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM问卷调查管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代 码和数据库&#xff0c;系统主要采…

【Vue】文件管理页面制作

<template><div><div style"margin: 10px 0"><el-input style"width: 200px" placeholder"请输入名称" suffix-icon"el-icon-search" v-model"name"></el-input><el-button class"ml…

Logo设计神器:适合新手的简易操作软件,快速入门!

标志设计软件在品牌营销和企业识别中发挥着重要作用。本文将对10款知名标志设计软件进行横向评价&#xff0c;从不同维度评价其功能、易用性、创意和适用性&#xff0c;帮助您选择最适合您需求的标志设计软件。 1.即时设计 推荐指数&#xff1a;★★★★★ 即时设计是一款功…

【LeetCode】winter vacation training

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;那个传说中的man的主页 &#x1f3e0;个人专栏&#xff1a;题目解析 &#x1f30e;推荐文章&#xff1a;【LeetCode】winter vacation training 目录 &#x1f449;&#x1f3fb; 有效的字母异位词&#x…

超维空间M1无人机使用说明书——53、ROS无人机二维码识别与降落——V2升级版本

引言&#xff1a;使用二维码引导无人机实现精准降落&#xff0c;首先需要实现对二维码的识别和定位&#xff0c;可以参考博客的二维码识别和定位内容。本小节主要是通过获取拿到的二维码位置&#xff0c;控制无人机全向的移动和降落&#xff0c;本小节再V1版本的基础上增加了动…

软件测试|MySQL HAVING分组筛选详解

简介 在 MySQL 数据库中&#xff0c;HAVING 子句用于在使用 GROUP BY 子句对结果进行分组后&#xff0c;对分组后的数据进行筛选和过滤。它允许我们对分组后的结果应用聚合函数&#xff0c;并基于聚合函数的结果进行条件过滤&#xff0c;从而得到我们需要的最终结果集。本文将…

Ubuntu 22.0.4 忘记重置 MySQL 密码

Ubuntu 22.0.4 忘记重置 MySQL 密码 一、问题描述二、解决办法 一、问题描述 Ubuntu 22.0.4 忘记了 MySQL的密码&#xff0c;需要重新设置密码 环境描述&#xff1a; 系统&#xff1a;Ubuntu 22.0.4 MySQL&#xff1a;8.0.35 &#xff08;通过 apt install mysql-sever 安装的…

0110qt

完善对话框&#xff0c;点击登录对话框&#xff0c;如果账号和密码匹配&#xff0c;则弹出信息对话框&#xff0c;给出提示"登录成功"&#xff0c;提供一个Ok按钮&#xff0c;用户点击Ok后&#xff0c;关闭登录界面&#xff0c;跳转到其他界面 如果账号和密码不匹配&…

注意力机制简单理解

1. 什么是注意力机制&#xff1f; ​ 我们在日常的生活中对许多事物都有我们自己的注意力重点&#xff0c;通过注意力我们可以更加关注于我们注意的东西&#xff0c;从而过滤不太关注的信息。 看到一张人像图时&#xff0c;我们会更关注人的脸部&#xff0c;其次根据脸部再细分…

VScode 画图插件

开源免费的插件 随着http://draw.io开源vs code插件之后&#xff0c;它一跃成为最强大的流程图工具。 目前http://draw.io支持3种文件后缀&#xff0c;你只需要新建3种后缀之一的文件就可以在vs code中画流程图&#xff0c;它们分别是&#xff1a; *.drawio*.dio*.drawio.sv…

使用KubeSphere轻松部署Bookinfo应用

Bookinfo 应用 这个示例部署了一个用于演示多种 Istio 特性的应用&#xff0c;该应用由四个单独的微服务构成。 如安装了 Istio&#xff0c;说明已安装 Bookinfo。 这个应用模仿在线书店的一个分类&#xff0c;显示一本书的信息。 页面上会显示一本书的描述&#xff0c;书籍…