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

如何根据条件在Python函数中选择性跳过指定语句执行

控制Python函数中打印语句的执行

原函数代码

def question():
    print("")
    question_section = str("B" + str(quiz_nmbr + 1))
    print("Question", str(quiz_nmbr) + ": " + str(sheet[question_section].value))
    question_become = str(input("Type your question: "))
    sheet[question_section].value = question_become 
    book.save('Quiz_Problems.xlsx')

实现方法

要实现特定条件下跳过指定打印语句,推荐两种实用方案:

方案1:给函数添加控制参数(推荐)

通过给函数新增一个布尔类型的参数,调用时按需传入值来控制打印逻辑,这种方式耦合性低、灵活性高。同时优化了原代码里的字符串拼接写法,让代码更简洁:

def question(show_question=True):
    print("")
    question_section = f"B{quiz_nmbr + 1}"
    if show_question:
        print(f"Question {quiz_nmbr}: {sheet[question_section].value}")
    question_become = input("Type your question: ")  # input返回本身就是字符串,无需额外转换
    sheet[question_section].value = question_become 
    book.save('Quiz_Problems.xlsx')
  • 正常调用(执行打印):question()
  • 跳过打印的调用:question(show_question=False)

方案2:依赖外部条件变量

如果你的控制逻辑依赖某个全局变量或外部状态,可以直接在函数内判断该变量:

# 假设外部已定义控制变量skip_print,根据业务逻辑设置为True/False
skip_print = False

def question():
    print("")
    question_section = f"B{quiz_nmbr + 1}"
    if not skip_print:
        print(f"Question {quiz_nmbr}: {sheet[question_section].value}")
    question_become = input("Type your question: ")
    sheet[question_section].value = question_become 
    book.save('Quiz_Problems.xlsx')

当需要跳过打印时,只需将skip_print设为True即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 01:31:06