用python输出下列图案_一道python题目关于编程输出图案

2015-03-18 回答

帮你实现了 直接上代码吧:

#! /usr/bin/env python

#coding=utf-8

#author qihigh

class animalstation:

__station1 = none

__station2 = none

def __init__(self):

self.__station1 = 0

self.__station2 = 0

def tostat(self,event):

if(event == 's1'):

self.__station1 = self.__station1+1

else:

self.__station2 = self.__station2+1

def result(self):

return [self.__station1,self.__station2]

if __name__ == '__main__':

str = ['''-----------此处省略700字,你懂得---------- '''']

#注: a01 -- a09 处理为 a1 -- a9

dic = {}

for i in range(1,50):

#a0 = animalstation()

exec("a"+`i`+" = animalstation()")

#dic['a0'] = a0

exec("dic['a"+`i`+"'] = a"+`i`)

for eachline in str:

strs = eachline.split(':')

animal,event = strs[0],strs[2]

#dic['a28'].to('s1')

exec("dic['"+animal+"'].tostat('"+event+"')")

print("animail\t\tstation1\t\tstation2")

for i in range(1,50):

#print dic['a0'].result()

exec("result = dic['a"+`i`+"'].result()")

print("a"+`i`+"\t\t"+`result[0]`+"\t\t"+`result[1]`)

原理:利用的python的动态特性。

执行结果:

animail station1 station2

a1 0 0

a2 0 1

a3 0 0

a4 1 0

a5 0 0

a6 1 0

a7 1 0

a8 1 1

a9 0 0

a10 2 0

a11 2 0

a12 0 0

a13 0 0

a14 1 0

a15 0 0

a16 0 0

a17 0 0

a18 0 2

a19 1 0

a20 0 0

a21 0 0

a22 0 1

a23 0 0

a24 1 0

a25 0 0

a26 0 0

a27 0 0

a28 1 0

a29 0 0

a30 0 0

a31 1 1

a32 0 0

a33 0 1

a34 0 1

a35 0 1

a36 2 0

a37 2 0

a38 1 0

a39 0 1

a40 0 0

a41 1 0

a42 0 1

a43 0 0

a44 0 0

a45 0 0

a46 0 1

a47 0 0

a48 0 0

a49 0 1

你想要的结果!!!分给我呗。。。。。。。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值