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

Python编程求助:实现两数整除校验、零输入报错及余数返回功能

整除挑战(Divisible challenge)

编写一个程序,向用户请求输入两个数字。程序需要输出两个数字是否可以互相整除,如果不能整除则返回余数,如果用户输入0,程序需要给出错误提示。

原代码问题排查

  • 执行顺序错误:未先判断是否输入0,就直接执行了除法运算,只要输入包含0,会直接触发Python除零报错,根本走不到后面的错误提示分支。
  • 整除判断语法错误:answer1(int)属于非法语法,Python没有这种调用写法,判断整除应该使用取模运算符%,当a % b == 0时就说明a可以被b整除。
  • 逻辑判断错误:原判断条件or的逻辑不符合「互相整除」的要求,互相整除需要两个方向都满足整除条件,应该用and。
  • 功能缺失:需求要求不能整除时返回余数,原代码没有实现余数输出的逻辑。

修正后代码

num1 = int(input("Enter a number:  "))
num2 = int(input("Enter a number:  "))

# 优先判断0输入,避免除零错误
if num1 == 0 or num2 == 0:
    print("Error: you cannot divide by 0")
else:
    # 两个方向都能整除才符合互相整除要求
    if num1 % num2 == 0 and num2 % num1 == 0:
        print("Exactly divisible")
    else:
        # 输出两个方向的余数
        remainder1 = num1 % num2
        remainder2 = num2 % num1
        print(f"Not Exactly divisible, num1 divided by num2 remainder: {remainder1}, num2 divided by num1 remainder: {remainder2}")

内容的提问来源于stack exchange,提问作者Programmer-ess

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 09:54:04