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

如何用Python打乱函数列表并按打乱顺序调用函数?

问题分析与修复

你的代码有两个核心问题:

  • 多个return语句无效:return会直接终止函数运行,第一个return执行后,后面的两个return根本不会被触发。
  • 仅返回函数对象未调用:就算拿到返回的函数,没加()调用的话,不会执行内部的打印逻辑。
修复后的代码
import random

def Question1():  
    print("Which one of these is a safe password?")

def Question2():   
    print("What can you do to get less spam?")

def Question3():   
    print("What term describes the act of annoying someone online?")

def questionfunction():
    # 直接将函数放入列表,无需额外赋值变量
    questionlist = [Question1, Question2, Question3]
    random.shuffle(questionlist)
    # 遍历打乱后的列表,逐个调用函数
    for question in questionlist:
        question()

# 执行函数
questionfunction()
关键修改点
  • 移除多余变量赋值:直接把函数名放进列表即可,不用先赋值给q1、q2、q3。
  • 替换无效return:改成遍历打乱后的列表,给每个函数对象加()调用,确保按随机顺序打印所有问题。
  • 触发函数执行:函数对象必须通过()才能执行内部逻辑,这是你之前没做到的核心步骤。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 06:30:48