- 首先獲取列表的最大元素昙读,同時(shí)也是確定輸出總行數(shù)的關(guān)鍵
data = [7, 3, 2, 9, 5, 1, 4, 0, 2, 8, 3, 9]
- 行數(shù)
r = max(data) + 2
- 列數(shù)
c = len(data)
通過(guò)循環(huán)打印圖像
- 每行第一列的第一個(gè)字符串必定以'|'開(kāi)頭
- 是否有星(*)依賴于data列表中的元素大小
- 最后再適當(dāng)結(jié)合運(yùn)行結(jié)果調(diào)整參數(shù)召调,使圖像效果達(dá)到最好
代碼(基于Python3)
data = [7, 3, 2, 9, 5, 1, 4, 0, 2, 8, 3, 9]
r = max(data) + 2
c = len(data)
for i in range(r):
for j in range(c):
if i < max(data) - data[j]:
k = 0
elif i < max(data):
k = 1
elif i == max(data):
print('-' * 63)
break
else:
print(' {}月 '.format(j + 1), end='')
continue
if not j:
print('|' + ' ' * (2 - k) + '*' * k + ' ' * 2, end='')
elif j < c - 3:
print(' ' * (3 - k) + '*' * k + ' ' * 2, end='')
elif j < c - 1:
print(' ' * (4 - k) + '*' * k + ' ' * 2, end='')
else:
print(' * ')
運(yùn)行結(jié)果如下: