Python编写LSystem函数

2024-06-16 14:10:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我想创建一个函数,它是“processString(axiom,rules)”

处理整个字符串公理,并返回新字符串

另外,我想创建一个函数“createLSystem(iterations,axiom,rules)”

在公理上运行由迭代指定的多次迭代的变换

这就是我到目前为止写的

def applyRules(char, rules):
    for rule_list in (rule.split(':') for rule in rules):
        char = char.replace(rule_list[0], rule_list[1])
    return char

def processString(axoism, rules):
    newstr = ""
    for ch in rules:
        newstr = newstr + applyRules(ch)
    return newstr

def createLSystem(iterations, axiom, rules):
    startString = axiom
    endString = ""
    for i in range(iterations):
        endString = processString(startString)
        startString = endString
    return endString

轴突、规则和迭代必须向用户询问。 但我不确定这些代码是否写对了,因为它没有像我想象的那样工作


Tags: 函数inforreturndefruleruleslist