Python我入门了,使用Python生成文本还是挺方便的

从前天2006.06.10开始,我才真正使用了Python,以前都是听说而已.

前天晚上,我把python2.2安装好之后,打开IDLE(Python GUI),准备使用,但是什么也不会,不知道要输入什么.

她出现这个:

Python 2.2.3 (#42, May 30 2003, 18:12:08) [MSC 32 bit (Intel)] on win32
Type "copyright", "credits" or "license" for more information.
IDLE 0.8 -- press F1 for help
>>>

没办法我只好,按照说明,先type copyright再说.

输入copyright,回车

出来几段文字.没什么意思.接着输入credits,回车,也没什么意思.

输入license回车,出来

>>> license
Type license() to see the full license text

就接着输入license(),回车,这回多了,一大段一大段的.慢慢看再说.

看完了有点累,了解了一些东西,python是 Guido van Rossum 在1990年代创建的一种脚本语言.读音一般是派身.

好多东西还是不懂,没办法,只好按F1了,看了一会就是IDLE的使用帮助.还是什么也不会.

就点help菜单,看看python的文档吧.

耐着性子慢慢看了一晚上,很累,眼睛痛.

同时一边看文档,一边按照tutorial做.还是初步学到了一点东西.

第一课,输入

>>> the_world_is_flat = 1

>>> if the_world_is_flat                                                                    
SyntaxError: invalid syntax
>>>

我晕,出错了,仔细一看,原来是没有输入冒号:

.

 待续。。。2006/05/12

原来Python的语句段,不是像C语言中用{}括起来,而是用:冒号和段落缩进来区分的,最后弄一空行就结束了。

还有一个比较特殊的东西就是###。。。###

两个###之间的文字就是函数的文档说明或者说是注释,这一点比较好。

待续。。。2006/05/13

2007、05、31更新如下

生成需要的文本
现有24口交换机,要生成如下文本:
[1] [3] [5] [7] [ 9  ] [ 11 ] [ 13 ] [ 15 ] [ 17 ] [ 19 ] [ 21 ] [ 23 ]
[2] [4] [6] [8] [ 10 ] [ 12 ] [ 14 ] [ 16 ] [ 18 ] [ 20 ] [ 22 ] [ 24 ]
我的第一个方案:
for x in range(1,25):
 if x%2==1:
  print "[",x,"]",

  
[ 1 ] [ 3 ] [ 5 ] [ 7 ] [ 9 ] [ 11 ] [ 13 ] [ 15 ] [ 17 ] [ 19 ] [ 21 ] [ 23 ]
>>> for x in range(1,25):
 if x%2==0:
  print "[",x,"]",

  
[ 2 ] [ 4 ] [ 6 ] [ 8 ] [ 10 ] [ 12 ] [ 14 ] [ 16 ] [ 18 ] [ 20 ] [ 22 ] [ 24 ]

第二个方案:
>>> def az(n):
 l1,l2=[],[]
 for x in range(1,n+1):
     if x%2==1:
      l1.append('['+str(x)+']')
     elif x%2==0:
      l2.append('['+str(x)+']')
 print l1
 print l2
 
>>> az(24)
['[1]', '[3]', '[5]', '[7]', '[9]', '[11]', '[13]', '[15]', '[17]', '[19]', '[21]', '[23]']
['[2]', '[4]', '[6]', '[8]', '[10]', '[12]', '[14]', '[16]', '[18]', '[20]', '[22]', '[24]']
方案三:
>>> >>> abz(24)
[1] [3] [5] [7] [9] [11] [13] [15] [17] [19] [21] [23] [2] [4] [6] [8] [10] [12] [14] [16] [18] [20] [22] [24]
方案四:
>>> def abz(n):
 l1,l2=[],[]
 for x in range(1,n+1):
     if x%2==1:
      l1.append(x)
     elif x%2==0:
      l2.append(x)
 for a in l1:
  print '['+str(a)+']',
 print
 for b in l2:
  print '['+str(b)+']',
  
>>> abz(24)
[1] [3] [5] [7] [9] [11] [13] [15] [17] [19] [21] [23]
[2] [4] [6] [8] [10] [12] [14] [16] [18] [20] [22] [24]
方案五(改进四):
>>> def abz(n):
 l1,l2=[],[]
 tl=len(str(n))
 for x in range(1,n+1):
     if x%2==1:
      l1.append(x)
     elif x%2==0:
      l2.append(x)
 for a in l1:
  print '['+"0"*(tl-len(str(a)))+str(a)+']',
 print
 for b in l2:
  print '['+"0"*(tl-len(str(b)))+str(b)+']',

def abz(n):
 l1,l2=[],[]
 for x in range(1,n+1):
     if x%2==1:
      l1.append(x)
     elif x%2==0:
      l2.append(x)
 for a in l1:
  print '['+str(a)+']',
 for b in l2:
  print '['+str(b)+']',

  

 

  
>>> abz(24)
[01] [03] [05] [07] [09] [11] [13] [15] [17] [19] [21] [23]
[02] [04] [06] [08] [10] [12] [14] [16] [18] [20] [22] [24]

方案六(采用一个简单算法):
>>> def abcz(n):
 tl=len(str(n))
 for a in range(1,n+1,2):
  print '['+"0"*(tl-len(str(a)))+str(a)+']',
 print
 for b in range(2,n+1,2):
  print '['+"0"*(tl-len(str(b)))+str(b)+']',

  
>>> abcz(24)
[01] [03] [05] [07] [09] [11] [13] [15] [17] [19] [21] [23]
[02] [04] [06] [08] [10] [12] [14] [16] [18] [20] [22] [24]
方案七(加入多行参数)
>>> def ab7z(n,numline):
 tl=len(str(n))
 for line in range(1,numline+1):
  for a in range(line,n+line-numline+1,numline):
   print '['+"0"*(tl-len(str(a)))+str(a)+']',
  print
  
>>> ab7z(24,4)
[01] [05] [09] [13] [17] [21]
[02] [06] [10] [14] [18] [22]
[03] [07] [11] [15] [19] [23]
[04] [08] [12] [16] [20] [24]
>>> ab7z(48,4)
[01] [05] [09] [13] [17] [21] [25] [29] [33] [37] [41] [45]
[02] [06] [10] [14] [18] [22] [26] [30] [34] [38] [42] [46]
[03] [07] [11] [15] [19] [23] [27] [31] [35] [39] [43] [47]
[04] [08] [12] [16] [20] [24] [28] [32] [36] [40] [44] [48]
>>> ab7z(24,6)
[01] [07] [13] [19]
[02] [08] [14] [20]
[03] [09] [15] [21]
[04] [10] [16] [22]
[05] [11] [17] [23]
[06] [12] [18] [24]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值