pythonl_python中的简单L系统

您需要返回给定的axiomsifiterations == 0。在这个函数中,您返回给您的参数axioms,这样如果iterations == 0,您将返回给定的、未触及的公理。在

然后,在你的iteration的末尾,如果iteration存在,你从iteration得到的新创建的公理被转移到axioms中,这样你将返回好的值,如果需要,下一个{}将有新创建的公理进行迭代。:)def lsystem(axioms, rules, iterations):

# We iterate through our method required numbers of time.

for _ in range(iterations):

# Our newly created axioms from this iteration.

newAxioms = ''

# This is your code, but with renamed variables, for clearer code.

for axiom in axioms:

if axiom in rules:

newAxioms += rules[axiom]

else:

newAxioms += axiom

# You will need to iterate through your newAxioms next time, so...

# We transfer newAxioms, to axioms that is being iterated on, in the for loop.

axioms = newAxioms

return axioms

rules = { "A" : "ABA" , "B" : "BBB"}

print(lsystem('AB', rules, 0))

# outputs : 'AB'

print(lsystem('AB', rules, 1))

# outputs : 'ABABBB'

print(lsystem('AB', rules, 2))

# outputs : 'ABABBBABABBBBBBBBB'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值