Python中if-else输入判断失效求助:输入4始终触发else分支
问题分析与解决
你的代码逻辑本身没问题,但问题出在**sample_number的类型或赋值环节**:
- 最常见的原因是你获取输入时没有转换类型:Python的
input()函数默认返回字符串类型,比如你输入4,得到的是字符串"4",而字符串"4"和整数4是不相等的,所以条件sample_number == 4永远为False,会执行else分支。 - 另外也可能是你没有给
sample_number赋值为用户输入的内容,缺少获取输入的代码。
修正后的完整代码
# 先获取输入并转换为整数类型 sample_number = int(input("请输入一个数字:")) if sample_number == 4: print("The number is 4.") else: print("Number is not 4.")
验证说明
- 当你输入4时,
int(input())会把字符串"4"转换成整数4,此时sample_number == 4成立,会打印指定内容。 - 如果需要兼容非整数输入(比如输入带小数点的4.0),可以换成
float(input()),但要注意判断条件对应调整为sample_number == 4.0或者用近似比较。
内容的提问来源于stack exchange,提问作者markisawesome4
相关产品推荐
相关产品推荐

