【问题标题】:Python Turtle with user input带有用户输入的 Python Turtle
【发布时间】:2016-01-03 21:02:27
【问题描述】:

我想使用 python turtle 来创建一个程序,询问用户他们想要多边形的几条边,然后海龟绘制它。这是我的代码:

import turtle

window = turtle.Screen()
window.bgcolor("lightgreen")

shape = turtle.Turtle()
shape.color("blue")
shape.pensize(3)

sides = int(input("How many sides do you want? Use digits: "))

def polygon(sides,length):

    for x in range(sides):
        shape.forward(length)
        shape.left(360/sides)

由于某种原因,这不起作用。有什么想法吗?

提前致谢!

【问题讨论】:

  • 你有什么困难?
  • “这不起作用”不是问题,也不适合 StackOverflow。与您的预期相比,尝试详细说明输出是什么。您尝试过什么来解决错误?

标签: python input turtle-graphics


【解决方案1】:

您实际上并没有调用polygon,您只是定义它(这就是def polygon(sides,length):def 部分的含义。 尝试添加类似

的内容
polygon(sides, length) 

到脚本的底部;或更具体地说,在定义之后的任何地方。

原创

如果您使用的是 Python 2,您可能应该使用 raw_input 而不是 input

除此之外,请尝试包含错误消息/输出以接收更有针对性的答案。

【讨论】:

  • @TechyEngineer 回复:如果这回答了您的问题,请批准答案;)
  • 在最底部,函数之后?
  • 是的。需要明确的是,您需要在调用它之前定义一个函数......但是如果您不调用它,您将永远不会真正运行它。使用标准库或第 3 方函数是可行的,因为它们已在别处定义并导入。
【解决方案2】:

你需要像这样调用你创建的函数:

polygon(sides,100)  

或者你想要的任何其他长度,而不是 100

您可以做的另一件事是要求用户从控制台输入长度

length = int(input("How tall do you want the lines? Use digits: "))

【讨论】:

    【解决方案3】:

    我能看出它为什么不起作用的唯一原因是你没有输入最后一行代码。这实际上是必不可少的,否则 python 不会运行 def。对于您的实例,它将是: polygon(sides,100) 我只是将 100 作为示例,您可以自己更改为您想要的任何内容

    【讨论】:

      【解决方案4】:

      您的代码应如下所示

      import turtle
      
      window = turtle.Screen()
      window.bgcolor("lightgreen")
      
      shape = turtle.Turtle()
      shape.color("blue")
      shape.pensize(3)
      
      sides = int(input("How many sides do you want? Use digits: "))
      
      def polygon(sides, length):
      
          for x in range(sides):
              shape.forward(length)
              shape.left(360/sides)
      polygon(10, 90) # replace these numbers with the values that you want
      

      我看到的第一件事是你在 def() 语句中的两个变量之间没有空格。第二件事是,当您创建一个 def 时,就像创建一个大变量,其中所有代码都是该变量(有点) def 语句中括号内的变量是稍后调用函数时需要定义的变量以便函数正确运行!

      【讨论】:

        猜你喜欢
        • 2022-10-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-03
        相关资源
        最近更新 更多