在下面的代码中,当a、b和c的输入分别为2、3和4时,
a=input('Enter length of first side of triangle: ')
b=input('Enter length of second side of triangle: ')
c=input('Enter length of third side of triangle: ')
print((a+b)>c)输出为
False但是如果输入被改变为浮动(如下所示),
a=float(input('Enter length of first side of triangle: '))
b=float(input('Enter length of second side of triangle: '))
c=float(input('Enter length of third side of triangle: '))
print((a+b)>c)则输出为
True请解释为什么会发生这种情况
发布于 2019-03-07 15:07:57
您的第一个代码片段的结果是:
('2' + '3') > '4'
# which is equivalent to:
'23' > '4'在python中,字符串根据其Unicode值进行比较,每次一个字符。因此,上面的比较变成了:
ord('2') > ord('4')
# which is equivalent to
50 > 52那就是False。
另一方面,您的第二个代码片段是一个简单的float比较:
(2.0 + 3.0) > 4.0哪一个是True
发布于 2019-03-07 15:03:03
之前:
a=input('Enter length of first side of triangle: ') # '2'
b=input('Enter length of second side of triangle: ') # '3'
c=input('Enter length of third side of triangle: ') # '4'
print((a+b)>c) # ('2' + '3') > '4' becoming '23' > '4' input返回一个str,将其转换为int,然后进行比较:
a=int(input('Enter length of first side of triangle: ')) # 2
b=int(input('Enter length of second side of triangle: ')) # 3
c=int(input('Enter length of third side of triangle: ')) # 4
print((a+b)>c) # (2 + 3) > 4 becoming 5 > 4 发布于 2019-03-07 15:01:43
如何将string格式的输入转换为int
a=int(input('Enter length of first side of triangle: '))
b=int(input('Enter length of second side of triangle: '))
c=int(input('Enter length of third side of triangle: '))
print((a+b)>c)这给了我们
Enter length of first side of triangle: 2
Enter length of second side of triangle: 3
Enter length of third side of triangle: 4
Truehttps://stackoverflow.com/questions/55037812
复制相似问题