免責宣告我只學習 Python 10 天(在此之前幾乎沒有任何語言的經驗)
我很難概念化我的問題,因此很難找到解決方案。
我目前有以下代碼:
spacer = "_|_"
spacer_btm = " | "
blank = "_"
blank_btm = " "
print(blank spacer blank spacer blank)
print(blank spacer blank spacer blank)
print(blank_btm spacer_btm blank_btm spacer_btm blank_btm)
這將列印出一個網格。最初我將blank和blank_btm變數分成 9 個單獨的變數,每個變數表示網格中我想要更改的空間。我遇到的問題是,由于這些是字串,它們是不可變的。我想根據用戶輸入的結果將空格??/下劃線值更改為其他值。理想情況下,替換空白或空白_btm的值也將是一個字串,但我對我應該使用哪種程序來到達那里感到困惑。
例如,如果輸入是1可以說這意味著網格中的左上角框得到“A”(或字面上的任何字串)
作為參考,我之前的代碼是
spacer = str("_|_")
spacer_btm = " | "
a1 = str("_")
a2 = str("_")
a3 = str("_")
b4 = str("_")
b5 = str("_")
b6 = str("_")
c7 = str(" ")
c8 = str(" ")
c9 = str(" ")
print(a1 spacer a2 spacer a3)
print(b4 spacer b5 spacer b6)
print(c7 spacer_btm c8 spacer_btm c9)
uj5u.com熱心網友回復:
我喜歡@misterwtf 給出的答案,但我會向前邁出一步,并假設您希望固定網格并希望填充框中的值,就像在井字游戲中一樣。
如果你學過python字典,我建議你用一本。
您可以簡單地定義 dict 變數,如:
board = {'9': ' ' , '8': ' ' , '7': ' ' ,
'6': ' ' , '5': ' ' , '4': ' ' ,
'3': ' ' , '2': ' ' , '1': ' ' }
然后使網格像:
print(' ' board['9'] ' |' ' ' board['8'] ' |' ' ' board['7'])
print('---|---|---')
print(' ' board['6'] ' |' ' ' board['5'] ' |' ' ' board['4'])
print('---|---|---')
print(' ' board['3'] ' |' ' ' board['2'] ' |' ' ' board['1'])
如果你把這個^變成一個函式會更好(也研究一下)。
現在,您可以從用戶那里獲取輸入。說,你想填充左上角的框。您只需撰寫:
board['9'] = input()
現在,當您再次制作網格時,瞧!您已成功在網格中輸入值。
uj5u.com熱心網友回復:
我能想到的最接近您的代碼的解決方案是以下解決方案。
spacer = "_|_"
spacer_btm = " | "
blank = "_"
blank_btm = " "
print(("A" if input() == "1" else blank) spacer blank spacer blank)
print(blank spacer blank spacer blank)
print(blank_btm spacer_btm blank_btm spacer_btm blank_btm)
當 Python 執行input內置函式時,程式會掛起,直到您按下ENTER。
我不會這樣做,但我不想給你一個你不理解的解決方案。例如,我假設您需要在 read-eval-print 回圈中反復提示用戶,但您知道什么是while回圈嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/413720.html
標籤:
下一篇:將變數內容匯出到檔案
