2013-02-26 22 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