2016-09-02 4 views
-2

私はプログラミングコースでこの質問を完成させようとしています。 基本的には、私は都市のスカイラインを描こうとしているので、プログラムはユーザーからの複数の入力を1行(建物の高さ)で読み込む必要があります。私は建物を描くためにそれを得ることができますが、最後のy値しか使用しません。私は行きたい場所にカメを移動する方法

from turtle import * 
h = input("Heights: ") 
y = h.split() 
nxc = -200 

#Code for the background 

fillcolor("darkslategray") 
for i in y: 
    for i in y: 
    nyc = i 
    pencolor("black") 
    pendown() 
    begin_fill() 
    goto(nxc, nyc) 
    right(90) 
    forward(20) 
    right(90) 
    forward(nyc) 
    right(90) 
    forward(20) 
    right(90) 
    forward(nyc) 
    end_fill() 
    nxc = nxc + 20 

お願いします!ここで

は絵です: Description of the question Some of the specifics

+0

あなたはなぜ「i in y:」を2回持っていますか? 'y 'を2回ループする必要がありますか? – Harrison

+0

なぜあなたは '私のために'二回連続して繰り返されていますか? – RPGillespie

答えて

0

はあなたの第二forループを取り出し:

from turtle import * 
h = input("Heights: ") 
y = h.split() 
nxc = -200 

#Code for the background 

fillcolor("darkslategray") 
for i in y: 
    nyc = i 
    pencolor("black") 
    pendown() 
    begin_fill() 
    goto(nxc, nyc) 
    right(90) 
    forward(20) 
    right(90) 
    forward(nyc) 
    right(90) 
    forward(20) 
    right(90) 
    forward(nyc) 
    end_fill() 
    nxc = nxc + 20 

それが終了する前にこの第二のループは常に、nycたびに更新、最後に到達します。したがって、すべての反復で、nycはPythonがあなたの描画コードに到達する前に最終値に進みます。

関連する問題