如何结合if与elif语句?实现双条件验证的驾驶资格判断需求
解决方案
你的原代码逻辑存在问题:当前的if-elif是互斥判断——只要第一个条件is_old成立,就会输出年龄达标提示,不会再检查驾照情况;如果年龄不达标,才会检查是否有驾照。这完全不符合你“两个条件必须同时满足才能驾驶”的需求。
要实现需求,你需要把两个条件用**逻辑与(and)**合并到同一个判断里,这样只有当两个条件都为True时,才会判定用户可以驾驶。修改后的代码如下:
is_old = True is_licensed = True if is_old and is_licensed: print("You can drive the vehicle") else: # 可选:分别提示不满足的条件 if not is_old: print("You are not old enough to drive") if not is_licensed: print("You don't have a driving license") # 不需要区分的话,直接用下面这句替代上面的判断 # print("You can't drive")
逻辑说明:
is_old and is_licensed会同时验证两个条件,只有两者都成立时,才会执行驾驶许可的提示。- 如果你需要明确告知用户哪项条件不满足,可以在
else分支里分别检查并提示;如果不需要区分具体原因,直接输出统一的禁止提示即可。
内容的提问来源于stack exchange,提问作者snowhow
相关产品推荐
相关产品推荐

