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

Python新手求助:输入数字比较程序出现异常结果问题

问题原因及解决方法

你的程序问题出在输入数据的类型上:Python中input()函数返回的是字符串类型,而字符串的比较是按字符的ASCII码逐位进行的,不是数值大小比较。比如'5'的ASCII码(53)比'10'的第一个字符'1'的ASCII码(49)大,所以'5' > '10'会被判定为True,导致程序返回错误结果。

修复方法

把输入的字符串转换为数值类型(整数或浮点数)即可,修改后的代码如下:

print("Please Enter the first number: ")
num1 = int(input())  # 转换为整数
print("Please Enter the second number: ")
num2 = int(input())  # 转换为整数

def greaterOfTwo(num1, num2):
    if num1 > num2:
        return num1
    else:
        return num2

print("The greater number is:", greaterOfTwo(num1, num2))

如果需要支持小数输入,把int换成float就行:

num1 = float(input())
num2 = float(input())

额外说明

在Java中,用Scanner.nextInt()这类方法会直接获取数值类型,但Python的input()统一返回字符串,这是两种语言的差异点,需要注意。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 05:45:38