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'))