0
我是新來的蟒蛇 - 和編程 - 並得到了這個練習。我可以用下面的代碼得到預期的結果,但想知道用Python 3.x解決這個問題還有哪些其他方法。什麼是解決這個練習的更好方法?
的鍛鍊是採取一些並且產生以下模式:
用戶輸入:1個
X
用戶輸入:2
O O O
O X O
O O O
用戶輸入:3
X X X X X
X O O O X
X O X O X
X O O O X
X X X X X
and s o在...
以下是我有:
def makePattern():
num = int(input("Enter a number: "))
def makeBoxes(num):
width = (num * 2) - 1
midpoint = num - 1
matrix = [ [ "X" for i in range(width) ] for j in range(width) ]
for d1 in range(width):
mpD1 = abs(midpoint - d1)
for d2 in range(width):
mpD2 = abs(midpoint - d2)
if (mpD1 % 2 == 1):
if mpD2 <= mpD1:
matrix[d1][d2] = "O"
if (mpD2 % 2 == 1):
if mpD1 <= mpD2:
matrix[d1][d2] = "O"
printBoxes(matrix,width)
makePattern()
def printBoxes(matrix,width):
holder = ""
count = 1
for row in matrix:
for point in row:
holder += (point + " ")
if count % width == 0:
print(holder)
holder = ""
count += 1
makeBoxes(num)
makePattern()
完成_什麼? – Jack 2013-05-14 04:23:10
如果您可以更具體地瞭解您想要改進的內容,則可以在[CodeReview.SE](或_maybe_ [CodeGolf.SE])上設置一個主頁。真的不清楚你的問題是什麼,我不認爲這是正確的地方。 – 2013-05-14 04:44:03
由於您有工作代碼,請確保您保留該版本的副本。然後試着逐步簡化它,直到你有更好的東西。你可以學到很多東西。順便說一句,如果你的問題是「S.O.上的人能更好地做我的作業嗎?」那麼答案是「可能是」 - 但你可能想要一個更具體的問題。 – 2013-05-14 04:44:46