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

Python代码条件判断恒为True问题求助:请排查逻辑错误

问题分析:掷骰子代码的条件判断错误

嘿,我一眼就揪出问题所在啦!你这段代码里的条件判断写法犯了Python新手常踩的逻辑坑——第9行的if play == "Yes" or "yes":永远都会返回True,不管用户输入啥。

错误原因详解

在Python中,逻辑运算符or需要连接两个完整的布尔表达式。你写的play == "Yes" or "yes",Python会把它解析成:

(play == "Yes") or ("yes")

而在布尔判断里,非空字符串会被视为True。所以不管play的值是什么,"yes"这个部分永远是True,整个条件自然就始终成立了。

修正方案

这里有两种常用的正确写法:

写法1:明确判断两种输入情况

把每个比较都写完整,确保or两边都是完整的比较表达式:

if play == "Yes" or play == "yes":

写法2:统一转换为小写(更灵活)

用lower()方法把用户输入的字符串转为小写,这样不管用户输入Yes、YES、yEs都能匹配,容错性更强:

if play.lower() == "yes":

修正后的完整代码

import random
die1='' 
die2='' 
throw='' 
player='' 
play = input("Would you like to play?") 
if play.lower() == "yes": 
    die1 = random.randint(1,6) 
    die2 = random.randint(1, 6) 
    throw = die1 + die2 
    print(throw) 
else: 
    print("Thanks anyways!")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:28:15