python小例子

1,使用Python解决数学问题。

ABCD乘9 = DBCA    那么 A=?,B=?,C? D=? 

for A in range(1,10):
    for B in range(0,10):
        for C in range(0,10):
            for D in range(1,10):
                if (A*1000 + B * 100 + C * 10 +D)* 9 == (D*1000 + C*100 +B*10 + A):
                    print('{0}{1}{2}{3}*9 == {3}{2}{1}{0}'.format(A,B,C,D))

  

 

 

 

2,使用python求阶乘的和。

0!+1!+2!+3!+4!+....+n!

def fact(n):
    if n == 0:
        return 1
    return n * fact(n-1)

while True:
    result = 0
    n  = input('Please input number:')
    if not n.isdigit():
        print('你输入的不是纯数字,请重新输入!')
        continue
    for i in range(0,int(n)+1):
        result+=fact(i)
    print(result)

  

 3,计算输入字符串有多少个空格、字符串、数字、特殊符号的个数。

 

while True:
    n  = input('pelase input somthing:')
    num = strings = space = other = 0
    for i in n:
        if str(i).isalpha():
            strings+=1
        elif str(i).isdigit():
            num +=1
        elif str(i).isspace():
            space +=1
        else:
            other+=1
    print('数字有{0}个,字母有{1}个,空格有{2}个,其他字符{3}个'.format(num,strings,space,other))

  

 

 

4,乘法口诀

for h in range(1,10):
        for l in range(1,h+1):
            print('{0}*{1} = {2} '.format(l,h,l*h),end = '')
        if h == l:
            print('')

  

5,/etc/passwd排序,按照uid排序(思路:创建2个列表,一个列表存放所有的uid并排序,一个存放所有的行,然后存放uid的列表排序,最后将文件中uid与uid比较,追加到新的文件即可。)

 

import codecs
file = 'passwd'
sortfile = 'sortpasswd'
filecontext = []
sortuid = []
with codecs.open('sortfile','wb') as fd:
    with codecs.open(file,encoding='utf-8') as f:
        filecontext +=  f.readlines()
        for line in filecontext:
            sortuid.append(int(line.split(':')[2]))
        sortuid.sort()
        for uid in sortuid:
            for line in filecontext:
                if str(uid) == line.split(':')[2]:
                    fd.write(line.encode('utf-8'))

  

 


posted @ 2018-01-23 17:12  某电商首席日志工程师  阅读(230)  评论(0编辑  收藏  举报