如何创建一个随机的 Python 程序生成器? [关闭]

Posted

技术标签:

【中文标题】如何创建一个随机的 Python 程序生成器? [关闭]【英文标题】:How to a create a random Python program generator? [closed] 【发布时间】:2021-12-02 03:50:37 【问题描述】:

不要问为什么,但我想创建一个 Python 程序,生成一个随机的 Python 程序,该程序对执行有效。我找到了一个类似的线程 Searching for a random python program generator ,但它很旧,除了演示 http://www.4geeks.de/cgi-bin/webgen.py 之外的所有链接都已失效。也许这些年来有些事情发生了变化,做这样的事情变得更容易了?

一个想法是使用量子坍缩算法/技术。这需要建立一种数据库,我在其中描述可以在前一个之后出现的符号。例如,在a 之后可以出现(,any letter 等,但绝不会出现)。我仍然认为这会产生非常乱码的源,我很容易设置错误的条件。

【问题讨论】:

我想你正在寻找:Software Reccomendations这个网站是用于编码相关的问题。 如果将 Python 程序的表示形式化为对标记进行操作的上下文无关语法,就语法而言,您可以轻松生成“有效”的 Python 程序。这涉及到语言是如何被解析和解释的。我建议首先创建 Python 语法的上下文无关语法表示,然后您将知道在代码生成的每个阶段要“随机”生成哪些标记。 这样做很危险。这样的程序可能会擦除您的硬盘驱动器或向总统发送死亡威胁。 @Jab 我不是在寻找软件。我明确表示“..想要创建一个 Python 程序......”。 @trshmanx 上下文无关语法定义程序的语法。如果您的代码中的每个“单词”都被视为一个标记,那么该语言只允许某些标记序列。例如,将if 视为条件标记,它需要boolean expressionboolean expression 可以是truefalse 或一些比较器,例如expression < expression。这是考虑程序的一种非常正式的方式,但它是首先验证和编译程序的方式。研究编程语言中的上下文无关语法。 【参考方案1】:

有两种主要方法可以实现这一点:

使用第三方生成可运行的垃圾代码,例如使用 yarpgen 生成有效的 C 程序,然后使用诸如 https://github.com/DAN-329/C_to_Python_translator 之类的东西将其转换为 python

编写一个 python 代码,编写随机生成的函数,使用随机参数相互调用,如果你只需要一堆函数相互调用来执行不应该那么难实现的随机数学运算。

【讨论】:

以上是关于如何创建一个随机的 Python 程序生成器? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 python 3.2 生成(和标记)随机整数?

python进阶练习之——随机密码生成器

如何生成随机整数列表,但仅使用指定的整数? (Python)[重复]

python实践项目八:生成随机试卷文件

python如何自动生成单个随机字母(a-z)

Python实践练习:生成随机的测验试卷文件