0

我刚开始学习 python,想知道它们是否是一种缩短一行代码的方法。例如,我可以使用类似的东西。

command = input()
if command = "create turtle"
    t =turtle.Pen()

或者

turtleCommand = input()
if turtleCommand = "circle"
    t.forward(100)
    t.left(91)

如果一个字符串“输入”(如果那是一个词)激活了一个defineFunction,那么海龟的事情只是假设的

4

3 回答 3

1

你可以写一个函数:

def draw_circle(t):
    t.forward(100)
    t.left(91)

然后调用它:

t = turtle.Pen()
command = input()

if command == "circle":
    draw_circle(t)
elif command = "stuff":
    ...

更强大的解决方案是使用将命令映射到函数的字典:

commands = {
    "circle": draw_circle,
    "square": draw_square
}

然后按名称获取一个函数:

t = turtle.Pen()
turtle_command = input()
command = commands[turtle_command]

command(t)
于 2013-07-02T06:14:06.907 回答
1
def docircle(pen):
  pen.forward(100)
  pen.left(91)

commands = {
  'circle': docircle,
   ...
}

...

commands[turtleCommand](t)
于 2013-07-02T06:15:12.867 回答
1

您可以设置一个字典,将一个单词映射到您希望该单词激活的功能:

commands = {'create turtle': create_turtle,
            'circle': circle, }

def create_turtle():
    t = turtle.Pen()

def draw_circle():
    ...

进而:

command = input()
commands[command]()
于 2013-07-02T06:16:20.103 回答