我是python中的新手程序员,想知道我是否能得到一些帮助。我将在下面显示的代码根据用户输入的#行和#列打印出一个简单的数组。数组本身充满了下划线('_'):
new_list = []
undersc = '_'
for i in range(1, rows + 1):
new = []
for j in range(1, columns + 1):
new.append(undersc)
new_list.append(new)
for c in range(len(new_list[0])):
print()
for r in range(len(new_list)):
for c in range(len(new_list[0])):
array = print((new_list[r][c]), end=" ")
print()
return array
控制台输出以下内容:
_ _ _ _ _
_ _ _ _ _
_ _ _ _ _
我现在需要获得的输出是:
Z _ _ _ _
Z Z _ _ _
Z Z Z _ _
基本上我看到当你向下移动时,每一列都是顺序填充的,然而,我迷失了如何获得上面的代码来执行此操作。任何帮助将不胜感激!
答案 0 :(得分:0)
更改此行:
new.append(undersc)
到此:
new.append(undersc if j > i else 'Z')
答案 1 :(得分:0)
>>> rows = 3
>>> columns = 5
>>> res = [['Z'] * pos + ['_'] * (columns - pos) for pos in range(1, rows + 1)]
>>> res
[['Z', '_', '_', '_', '_'],
['Z', 'Z', '_', '_', '_'],
['Z', 'Z', 'Z', '_', '_']]
>>> for row in res:
print(''.join(row))
Z _ _ _ _
Z Z _ _ _
Z Z Z _ _
new_list
for pos, row in enumerate(new_list, 1):
print(' '.join(['Z'] * pos), ' '.join(row[pos:]))
打印:
Z _ _ _ _
Z Z _ _ _
Z Z Z _ _