Python程序和绘制squ

2024-05-13 19:55:32 发布

您现在位置: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等) 它本该画一个正方形,但什么也没显示出来 我做错什么了


Tags: 文件importltinputifexit计划bk
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"

编辑:你需要确保笔是向下的,你可能希望乌龟在前进或后退的时候不止一个,你需要让屏幕出现。在

我建议您阅读Python中海龟图形的基本介绍。在

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

在while循环开始之前,尝试将以下内容放入:

^{pr2}$

这足以让图形屏幕弹出。在

祝你好运,玩得开心。在

while i == input():(甚至在删除引号之后)没有给i赋值。它正在比较input()和{}的结果,这可能不是您想要的。在

正如其他人所说,您需要去掉函数周围的引号,而不是每个引号:

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尚未定义,因此会出现错误。在

但是,如果您使用的是python2.x(而不是3.x),则应该使用raw_input()(这将返回一个字符串):

^{pr2}$

相关问题 更多 >