您的位置:首页 > 编程语言 > Python开发

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

2006-05-12 12:01 766 查看
从前天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]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: