python打印数字金字塔

2025-03-23 00:53:35
推荐回答(2个)
回答(1):

for i in range(1,10):

result=[]

for j in range(1,i+1):

result.append(j)

for j in range(i-1,0,-1):

result.append(j)

result=''.join(str(x) for x in result)

print("{0:^17}".format(result))

回答(2):

#!/usr/bin/env python
# coding: utf-8# author: Tim Wang# filename: baidu.py# date: Apr., 2014 context = """25,24,23,02,05,06,6513,14,15,16,66,53,2203,60,04,06,07,09,2321,22,23,02,05,06,08""" data = [ ln.strip().split(',') for ln in context.splitlines() ] def check1(row): return int(row[0])%10 == int(row[-1])%10 def check2(row): irow = map(int, row) for i, n in enumerate(irow): if irow[i:i+3] in (range(n, n+3), range(n, n-3, -1)): return irow[i:i+3] else: return None for row in data: print row, '\t', print check1(row) and "%2s,%2s"%(row[0], row[-1]) or "_____" , sub = check2(row) if sub: print '\t', sub else: print