大小排序问题
x = input('请输入第一个数:')y = input('请输入第二个数:')
z = input('请输入第三个数:')
if x < y:
if x < z:
if y < z:
print(x,y,z)
else:
print(x,z,y)
else:
print(z,x,y)
else:
if x < z:
print(y,x,z)
else:
if y < z:
print(y,z,x)
else:
print(z,y,x)
Python 3.7.9 (tags/v3.7.9:13c94747c7, Aug 17 2020, 18:58:18) on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>>
============================= RESTART: D:\桌面文件\1.py ============================
请输入第一个数:55
请输入第二个数:13
请输入第三个数:110
110 13 55
>>>
请问大佬为什么两位数与三位数比大小的时候,大小排序会是错误的啊? 要转换类型 x = int(input('请输入第一个数:'))
y = int(input('请输入第二个数:'))
z = int(input('请输入第三个数:'))
#x<y
if x < y:
if x < z:
if y < z:
print(x,y,z)
else:
print(x,z,y)
else:
print(z,x,y)
#x>y
else:
if x < z:
print(y,x,z)
else:
if y < z:
print(y,z,x)
else:
print(z,y,x) 逻辑没问题,input接收的是字符串型,要转化为数值型再比较,否则按照字符串型来比大小,规则不一样是一位一位比较的 你没有用int把xyz转换成整数,input得到的格式是字符串str,于是“13”和“110”比是用字符串的比较方式。,比第一位1和1一样,比第二位3和1,1小,所以110就比13小了。
页:
[1]