Chinaunix首页 | 论坛 | 博客
  • 博客访问: 367716
  • 博文数量: 97
  • 博客积分: 2846
  • 博客等级: 少校
  • 技术积分: 1000
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-19 20:00
文章分类

全部博文(97)

文章存档

2017年(1)

2013年(2)

2012年(6)

2011年(17)

2010年(12)

2009年(41)

2007年(18)

我的朋友

分类: Python/Ruby

2009-05-09 21:24:23

Example 1: Algae

Lindenmayer's original L-system for modelling the growth of algae.

variables : A B
constants : none
start  : A
rules  : (A → AB), (B → A)

which produces:

n = 0 : A
n = 1 : AB
n = 2 : ABA
n = 3 : ABAAB
n = 4 : ABAABABA
n = 5 : ABAABABAABAAB
n = 6 : ABAABABAABAABABAABABA
n = 7 : ABAABABAABAABABAABABAABAABABAABAAB

 

def algae(n):
    if n == 0:
        return 'A'
    if n == 1:
        return 'B'
    if n == 2:
        return 'A'
    else:
        return algae(n-1)+algae(n-2)
        
def all(n):
    result = ''
    for i in range(n+1):
        result+= algae(i)
    return result

def growth_of_algae(n):
    for i in range(n):
        print 'n = %d : %s' % (i, all(i))

n = int(raw_input("enter number of generation:\n"))
growth_of_algae(n)

阅读(559) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~