[题目] 把一段字符串用"右起竖排"的古文格式输出
从 从两道趣味题目看PYTHON的简洁性 这篇博文看到的题目, 没按博主的方法, 自己写了两种.
把一段字符串用"右起竖排"的古文格式输出
直接将字符串装入二元列表:
def rotate_1(string, offset=6):
len_str = len(string)
cols = int((len_str+offset-1) / offset)
A = [['']*cols for row in range(offset)]
for col in range(cols):
for row in range(offset):
index = (cols-1-col)*offset+row
A[row][col] = string[index] if index < len_str else ' '
return A
先顺序装入, 再将二元列表顺时针旋转90度:
def rotate_2(string, offset=6):
len_str = len(string)
rows = int((len_str+offset-1) / offset)
A = [['']*offset for row in range(rows)]
for col in range(offset):
for row in range(rows):
index = row*offset+col
A[row][col] = string[index] if index < len_str else ' '
return list(map(lambda x: x[::-1], zip(*A)))
调用:
A = rotate_1('静夜思 李白床前明月光,疑似地上霜。举头望明月,低头思故乡。')
print('\n'.join(['┊'.join(row) for row in A]))
print('='*20)
A = rotate_2('静夜思 李白床前明月光,疑似地上霜。举头望明月,低头思故乡。')
print('\n'.join(['┊'.join(row) for row in A]))
输出:
低┊举┊疑┊床┊静
头┊头┊似┊前┊夜
思┊望┊地┊明┊思
故┊明┊上┊月┊
乡┊月┊霜┊光┊李
。┊,┊。┊,┊白
====================
低┊举┊疑┊床┊静
头┊头┊似┊前┊夜
思┊望┊地┊明┊思
故┊明┊上┊月┊
乡┊月┊霜┊光┊李
。┊,┊。┊,┊白
[整理] Python程序员的进化史
测试GIST Evolution of a Python programmer.py 中的代码, 该代码片段为各种程序员所写的阶乘算法代码, 甚至包括网页设计师的, 很有意思
[基础] 在Python中获得字典列表中最大值与最小值
假设有字典列表:dict_list = [{'price': 99, 'barcode': '2342355'}, {'price': 88, 'barcode': '2345566'}, {'price': 77, 'barcode': '2342377'}]
, 要求price
的最大值与最小值
[解决] Python lxml wrapping elements
有的网页中正文没有使用<div>
进行包装, 结果提取正文时只提取了某一段, 而不是作为整体的正文, 一开始直接将<body>
元素变成<div>
, 发现会有其它副作用, 因为其它代码中有通过标签是否是body作为判断的代码. 因此考虑默认为<body>
的子元素加一层<div>
包装.