首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为true语句获取false

为true语句获取false
EN

Stack Overflow用户
提问于 2019-03-07 14:59:16
回答 5查看 75关注 0票数 2

在下面的代码中,当a、b和c的输入分别为2、3和4时,

代码语言:javascript
复制
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)

输出为

代码语言:javascript
复制
False

但是如果输入被改变为浮动(如下所示),

代码语言:javascript
复制
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)

则输出为

代码语言:javascript
复制
True

请解释为什么会发生这种情况

EN

回答 5

Stack Overflow用户

发布于 2019-03-07 15:07:57

您的第一个代码片段的结果是:

代码语言:javascript
复制
('2' + '3') > '4'
# which is equivalent to:
'23' > '4'

在python中,字符串根据其Unicode值进行比较,每次一个字符。因此,上面的比较变成了:

代码语言:javascript
复制
ord('2') > ord('4')
# which is equivalent to
50 > 52

那就是False

另一方面,您的第二个代码片段是一个简单的float比较:

代码语言:javascript
复制
(2.0 + 3.0) > 4.0

哪一个是True

票数 4
EN

Stack Overflow用户

发布于 2019-03-07 15:03:03

之前:

代码语言:javascript
复制
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,然后进行比较:

代码语言:javascript
复制
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 
票数 2
EN

Stack Overflow用户

发布于 2019-03-07 15:01:43

如何将string格式的输入转换为int

代码语言:javascript
复制
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)

这给了我们

代码语言:javascript
复制
Enter length of first side of triangle: 2
Enter length of second side of triangle: 3
Enter length of third side of triangle: 4
True
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55037812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档