2
我想使用python循環制作一個ASCII圖。 目標是讓用戶輸入一個輸入(公式)[x + 1]等並打印出圖形。 圖形的域和範圍僅從-10到+10。試圖使ASCII圖python 3
我設法讓它工作,但只對公式(-x + 1),這是(x + 1)在我的代碼。
我知道這個問題是因爲我的循環從頂部開始打印,所以我纔會有那麼它打印在負向循環改變它,但我停留在如何將自己的圖形組合成一個嵌套循環所以它正確地打印出來,然後替換功能輸出的相應位置。
我現在在想,也許我應該把它打印出'*'行然後圍繞它的圖形,但我認爲這更復雜。
我可以給你任何更多的信息,如果你需要。
任何建設性的想法將不勝感激。
這是我的代碼,讓我知道你在想什麼。
height=20
w=10
x=0
for a in range(0,11):
ps= ((" " * w)+('|')+(" " * w))
ps=list(ps)
ps[x]="*"
x=x+1
pp="".join(ps)
print(pp)
rs=(('-'*10)+('+')+('-'*10))
rs=list(rs)
rs[x]="*"
rr="".join(rs)
print(rr)
for a in range(0,10):
ws = ((" " * w)+('|')+(" " * w))
ws=list(ws)
y=x+1
ws[y]="*"
x=x+1
wp="".join(ws)
print(wp)
這是下面的輸出:
* |
* |
* |
* |
* |
* |
* |
* |
* |
*|
*
----------+*---------
| *
| *
| *
| *
| *
| *
| *
| *
| *
我想補充一點,如果最終目標是繪製任何函數,那麼他將不得不首先計算最小值和最大值,因爲數組的維數取決於這些值。另外,我不確定''.join(myArray)是否適用於二維數組。 – civilu 2013-03-20 14:25:25
@civilu你會爲2D數組的每一行做到這一點,而不是陣列本身。 – Ivo 2013-03-20 15:14:12
能否請您詳細介紹一下這一點? 我需要用20行製作一個數組嗎?或者只是正在使用的4個字符? 我將如何循環通過每個x位置來計算y?那是嵌套循環? – gunter 2013-03-20 15:53:18