如何編寫一個程序,用於提示用戶輸入介於1和9之間的數字(包括1和9),然後在控制檯上打印一個文本的正方形看起來是這樣的:提示用戶輸入1到9之間的數字,然後打印一個文本的正方形
1****
22***
333**
4444*
55555
這是我到目前爲止有:
1****
22***
333**
4444*
55555
:
import numpy as np
b_num = raw_input()
b_num = int(b_num)
mat = np.zeros((b_num, b_num)).tolist()
mat = np.char.mod('%.5g', mat)
mat[0:9] = '*'
for i in range(b_num):
for a in range(i):
mat[i, a] = i + 1
mat[0:0] = '1'
mat = '\n'.join(map(str, mat))
mat = mat.replace(']', '')
mat = mat.replace('[', '')
mat = mat.replace('\'', '')
mat = mat.replace(' ', '')
print mat
目前如下這是一個成功的這個輸出數組
我不禁想知道是否有更優雅的解決方案。
優雅與否是意見,至少你的代碼工作就像你想要的,也期待它! – KeithC