宿題については、2次元のPythonリストでパターンを作成しようとしていますが、作業。私は[0] [9] [1] [8]、[2] [7] ... etc ... [9] [0]に「*」を入れようとしています。私は斜めの作品を残したが、右はしない混乱している?Python 3.x:2DリストとForループを使用したパターンの作成
また、私のコードは乱雑です - すべてのforループをまとめたり、より良い方法でタスクを進める方法はありますか?
ご協力いただきありがとうございます。
#Left, pattern I'm supposed to make. Right, what my code currently does.
*---*---* *---*----
-*--*--*- -*--*----
--*-*-*-- --*-*----
********* *********
--*-*-*-- ----*-*--
-*--*--*- ----*--*-
*---*---* ----*---*
n = 9
#but could be any odd number
lst = [["-" for i in range(n)] for j in range(n)]
#create matrix
for i in range(n): #makes left diagonal
lst[i][i] = "*"
for i in range(n): #middle horizontal section
lst[n//2][i] = "*"
for i in range(n):
lst[i][n//2] = "*" #middle vertical section
#for i in range(n, 0, -1): #one of many attempt at right diagonal section
# lst[i][i]= "*" #tried changing indexes and/or range but neither worked
for i in lst:
print(*i) #pattern output
問題文を投稿することもできますか? – yash