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

Python 3.9.7 函数中if条件成立时,如何继续执行后续其他条件判断?

解答

你写的第一种非嵌套、全独立if的写法,本身就是满足需求的正确实现。
按照你贴出的这段代码逻辑,输入30时必然会同时触发三条条件、输出对应三行内容,你现在仅输出第一条,大概率是实际运行的代码里把后两个if误写为elif了:

# 错误写法(互斥判断,不符合需求)
def function(n):
    if n % 2 == 0:
        print("Number is even")
    elif n >= 10: 
        # 只要前面的if条件成立,该分支及后续所有elif/else都会直接跳过
        print("Number is at least two digits")
    elif n % 3 == 0:
        print("3 is a divisor of number")

elif属于互斥判断分支,天然不满足你需要全量校验所有条件的场景,把所有elif修改为独立的if即可正常运行。

如果后续判断规则持续增多,还可以用规则列表的写法,更易维护:

def function(n):
    # 所有规则统一存为 (判断条件, 对应输出) 的元组列表
    rules = [
        (lambda x: x % 2 == 0, "Number is even"),
        (lambda x: x >= 10, "Number is at least two digits"),
        (lambda x: x % 3 == 0, "3 is a divisor of number")
    ]
    # 遍历所有规则依次校验,符合条件就输出对应内容
    for condition, output in rules:
        if condition(n):
            print(output)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 20:18:04