我有这个代码适用于列表中的整数
def draw_beautiful(n):
ps = list(gen(n))
max = len(' '.join(map(str,ps[-1])))
for p in ps:
print(' '.join(map(str,p)).center(max)+'\n')
生成的列表就像帕斯卡三角形一样,但每个奇数都是1,每个偶数都是0。
def gen(n,r=[]):
for x in range(n):
l = len(r)
r = [1 if i == 0 or i == l else (r[i=1]+r[i])%2 for i in range(l+1)]
yield r
按原样,它会打印一个由1和0组成的漂亮三角形,但我需要将它们作为点,将零作为空格。
答案 0 :(得分:1)
在draw_beautiful
中,尝试替换
ps = list(gen(n))
通过
ps = [[' .'[x] for x in row] for row in gen(n)]
这会将0
变为' '
,将1
变为'.'
。
答案 1 :(得分:0)
这样可以更改列表中的值
p = [1, 1, 1, 1, 0, 0, 0, 0]
o = []
for x in p:
if x == 1:
o.append('.')
if x == 0:
o.append(' ')