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

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 11:36:04