Python代码两值对比始终提示数值不相等该如何解决
代码问题分析及修复方案
存在的问题
- 缺少模块导入:使用
random.randint()前未导入random模块,运行初始就会抛出NameError。 - 类型不匹配:
input()返回值为字符串类型,用于和整数类型的pls做等值判断时会直接返回False,这是对比始终不相等的核心原因。 - 语法不规范:
pls = oso ++ oso2的写法不符合Python加法语法规范,虽然解释器会自动解析为oso + (+oso2)不报错,但可读性极差容易引发后续逻辑错误。 - 变量未定义:else分支中
print(unlucky)的unlucky未加引号,会被识别为未定义变量,触发该分支时会抛出NameError。
修复后代码
import random oso = random.randint(1,500) oso2 = random.randint(1,500) pls = oso + oso2 print(oso2 , "+" , oso) opo = input("d") # 新增输入转整数逻辑,添加异常捕获避免输入非数字时报错 try: opo_num = int(opo) except ValueError: print("请输入有效数字") else: if pls == opo_num: print("nice") else: print("unlucky")
核心修改说明
- 开头新增
import random导入依赖模块 - 修正加法写法为规范的
+运算符 - 将输入的字符串转为整数后再做等值判断
- 给
unlucky添加引号定义为字符串 - 新增输入合法性校验,避免用户输入非数字内容时程序崩溃
内容的提问来源于stack exchange,提问作者Avez
相关产品推荐
相关产品推荐

