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

如何修复Python中int与str无法进行除法运算的错误?

修复除法计算器的类型错误问题

问题根源

你的代码存在几个关键问题,直接导致了类型不匹配错误:

  • inputPembagi接收的是字符串类型,未转换为整数就直接和inputAngka(int类型)执行除法运算
  • isdigit是字符串方法,必须加括号调用isdigit(),否则只是检查方法对象是否存在,永远返回True
  • 判断除数为0的条件中,inputPembagi是字符串,和整数0比较永远不成立,且判断顺序逻辑错误
  • isdigit()无法识别负整数,会把合法的负除数判定为非法输入

修复后的代码

print("===DIVIDING CALCULATOR===")

inputAngka = int(input("Insert the number : "))
inputPembagi_str = input("Insert the dividers : ")

# 用异常处理覆盖所有输入异常场景
try:
    inputPembagi = int(inputPembagi_str)
    if inputPembagi == 0:
        print("Can't divide a number by 0!")
    else:
        print("The result is", inputAngka / inputPembagi)
except ValueError:
    print("Inputted data should be in integer!")

修复说明

  • 改用try-except捕获类型转换异常,比isdigit()更可靠,能正确处理正负整数输入
  • 先将除数字符串转为整数,再执行除法运算,彻底解决类型不匹配问题
  • 调整逻辑顺序,先判断除数是否为0,再执行除法,逻辑更严谨
  • 修正了原代码中字符串与整数直接比较的错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 11:01:34