0

私のプログラム

import turtle
i = "input()"
while i == "input()":
    if i == "exit":
        input()
    if i == "fd":
        turtle.fd(1)
    if i == "bk": 
        turtle.bk(1)
    if i == "lt":
        turtle.lt(90)
    if i == "rt":
        turtle.rt(90)
    if i == "pu":
        turtle.pu()
    if i == "pd":
        turtle.pd()

今、私の入力であるファイルは(fd、fd、fd、bk、bk、lt、rtなど)です。正方形を描くと想定されていますが、私が間違っていることは何も表示されません

4

3 に答える 3

3

Pythonには、呼び出すことができる関数がありますinput()。しかし、あなたはそれを呼んでいません。引用符で囲んでいるので、文字「i」、「n」、「p」、「u」、「t」、「(」、「)」を含む文字列を参照しているだけです。

実際に関数を呼び出すように、引用符を削除してくださいinput()

編集:以下のコメントから、Python2.xを使用しているようです。したがって、を使用する必要がありますraw_input()raw_input()ユーザーが入力した文字列を返すだけです。input()それを値として評価しようとします。

x = input()  # if user types "2", x is set to the number 2
x = raw_input()  # if user types "2", x is set to the string "2"

編集:ペンが下がっていることを確認する必要があります。おそらく、前進または後退するときにタートルを1つ以上移動させ、画面を表示する必要があります。

Pythonのタートルグラフィックスの基本的な紹介を読むことをお勧めします。

http://www.blog.pythonlibrary.org/2012/08/06/python-using-turtles-for-drawing/

whileループを開始する前に、次のように入力してみてください。

screen = turtle.getscreen()

グラフィック画面をポップアップさせるには、これで十分です。

頑張って楽しんでね。

于 2013-02-26T01:55:54.893 に答える
3

この行while i == input():は (引用符を削除した後でも) に値を割り当てていませんiinput()の結果をと比較してiいますが、これはおそらく意図したものではありません。

于 2013-02-26T02:04:10.317 に答える
1

他の人が言ったように、すべての単一引用符ではなく、関数の周りの引用符を取り除きたい:

import turtle
while True:
    i = input()
    if i == "exit":
        break # stops the loop
    if i == "fd":
        turtle.fd(1)
    if i == "bk": 
        turtle.bk(1)
    if i == "lt":
        turtle.lt(90)
    if i == "rt":
        turtle.rt(90)
    if i == "pu":
        turtle.pu()
    if i == "pd":
        turtle.pd()

NameErrorから引用符を外すと"fd"、文字列ではなく、変数があるため、 が得fdられます。ただし、変数fdが定義されていないため、エラーが発生します。

ただし、Python 2.x (3.x ではない) を使用している場合は、次を使用する必要がありますraw_input()(これは文字列を返します)。

import turtle
while True:
    i = raw_input()
    if i == "exit":
        break
    if i == "fd":
        turtle.fd(1)
    if i == "bk": 
        turtle.bk(1)
    if i == "lt":
        turtle.lt(90)
    if i == "rt":
        turtle.rt(90)
    if i == "pu":
        turtle.pu()
    if i == "pd":
        turtle.pd()
于 2013-02-26T02:12:59.363 に答える