比较两数大小,input函数必须要取整吗
num1 = input("请输入第一个整数:")num2 = input("请输入第二个整数:")
if num1 < num2:
print("第一个数比第二个数小!")
if num1 > num2:
print("第一个数比第二个数大!")
if num1 == num2:
print("第一个数和第二个数一样大!")
我没有取整,输入小数也可以比较啊?就不太懂这个致命bug如何体现的。新手,求大佬解惑! 本帖最后由 青出于蓝 于 2022-7-29 17:41 编辑
num1 = float(input("请输入第一个整数:"))
num2 = float(input("请输入第二个整数:"))
if num1 < num2:
print("第一个数比第二个数小!")
if num1 > num2:
print("第一个数比第二个数大!")
if num1 == num2:
print("第一个数和第二个数一样大!")
两个整数比大小要int取整,两个小数比大小要float转型
而你没有对input函数返回的数据进行转型,所以你是在比较字符串的大小,也就是比较字符串的ascii码,这是致命bug 你第一个数输入9,第二个数输入10,你就会发现9大于10
这是因为字符串之间比较的是ASCII码,而且是逐个字符比较,9的ASCII码比1大,所以就会出现9比较10大了
num1 = int(input("请输入第一个整数:"))
num2 = int(input("请输入第二个整数:"))
if num1 < num2:
print("第一个数比第二个数小!")
if num1 > num2:
print("第一个数比第二个数大!")
if num1 == num2:
print("第一个数和第二个数一样大!") 前面两位大佬为正解 取整的话可以用int()转型 input()获得的数据类型是字符串类型,如果要比较数字大小的话要转换成int类型或者float类型。毕竟字符串比较的只是ascll码而不是数据本身 青出于蓝 发表于 2022-7-29 16:16
两个整数比大小要int取整,两个小数比大小要float转型
而你没有对input函数返回的数据进行转型,所以你 ...
谢谢 临时号 发表于 2022-7-29 16:18
你第一个数输入9,第二个数输入10,你就会发现9大于10
这是因为字符串之间比较的是ASCII码,而且是逐个字符比 ...
谢谢
页:
[1]