2013-02-26 113 views
0

我的程序Python程序,並繪製一個正方形

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等) 它是假設繪製一個正方形文件但沒有出現 我在做什麼錯誤

+0

的IFF都在行只是沒有把右在這個東西 – user2089413 2013-02-26 01:52:25

+0

格式化會很好,如果你符合你的標籤和空格的使用。使用一個或另一個,而不是兩個。 – MatthewD 2013-02-26 01:59:30

回答

3

在Python中有一個函數,你可以調用,input()。但你不是在呼喚它。你把引號括起來,所以你只是引用一個包含字母'i','n','p','u','t','(',')'的字符串。

刪除引號,以便實際調用input()函數。

編輯:從您的評論下面,它看起來像你使用Python 2.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() 

這應該是足以讓圖形屏幕彈出。

祝你好運,玩得開心。

+0

我拿了「」關閉前兩個輸入,我得到一個錯誤 – user2089413 2013-02-26 01:59:06

+0

採取所有「」走或只有一點 – user2089413 2013-02-26 01:59:59

+0

回溯(最近呼叫最後): 文件「as2。PY」,第2行,在 I =輸入() 文件 「」,第1行,在 NameError:名稱 '的fd' 沒有定義 – user2089413 2013-02-26 02:02:41

3

該行while i == input():(即使刪除引號後)不會將值分配給i。它正在比較input()i的結果,這可能不是你想要的結果。

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() 
+0

謝謝你,我讓它工作 – user2089413 2013-02-26 02:30:47