You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Python Turtle随机执行自定义函数?

问题原因与解决方法

你的代码问题出在列表里放的是带括号的函数调用,Python创建这个列表时会立刻执行所有函数,choice只是从这些函数的返回值里挑一个打印,根本没起到随机选一个执行的作用。

修改步骤

  • 把列表里的函数改成不带括号的形式,这样列表存储的是函数本身,而非函数执行结果
  • 用choice选中函数后,再添加括号调用它

修改后的代码

from random import choice

# 存储函数对象(不带括号)
drawing_functions = [
    SonicTheHedgehogDrawing,
    turtle.KnucklesTheEchidnaDrawing,
    turtle.MilesTailsProwlerDrawing,
    turtle.BeanTheDynamiteDrawing,
    turtle.AmyTheHedgehogDrawing,
    turtle.EggmanDrawing,
    turtle.RougeTheBatDrawing,
    turtle.BlazeTheCatDrawing
]

# 随机选择并执行函数
chosen_func = choice(drawing_functions)
chosen_func()

补充说明

写函数名()时,Python会立即执行该函数;只写函数名时,Python会把它当作可调用对象保存起来,只有添加括号时才会执行。这样就能实现随机挑选一个函数执行的需求。

内容的提问来源于stack exchange,提问作者SonicSpeed17

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 05:22:07