Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python三角验证程序代码中的错误_Python_Geometry_Conditional - Fatal编程技术网

Python三角验证程序代码中的错误

Python三角验证程序代码中的错误,python,geometry,conditional,Python,Geometry,Conditional,我觉得我有一个语义错误。即使我键入一个有效的三元组,如3、4、5,我也会得到不可能的消息。有人能发现我的错误吗?raw\u input返回一个字符串,您应该首先将它们转换为整数。否则,条件: 如果x>0且y>0且z>0:始终为真 所有字符串都大于整数 a = raw_input('side 1 \n') b = raw_input('side 2 \n') c = raw_input('side 3 \n') def triangle_check(x, y, z): if x >

我觉得我有一个语义错误。即使我键入一个有效的三元组,如
3、4、5
,我也会得到
不可能的消息。有人能发现我的错误吗?

raw\u input
返回一个字符串,您应该首先将它们转换为整数。否则,条件:

如果x>0且y>0且z>0:
始终为真

所有字符串都大于整数

a = raw_input('side 1 \n')
b = raw_input('side 2 \n')
c = raw_input('side 3 \n')

def triangle_check(x, y, z):
    if x > 0 and y > 0 and z > 0:
        if z > (x + y) or y > (x + z) or x > (y + z):
            print 'impossible'
        else:
            print 'possible'

triangle_check(a, b, c)
z>(x+y)
:这里实际上是先连接两个字符串,然后将其与另一个字符串z进行比较

修复:应用
int()
将这些字符串转换为整数:

>>> "-1" > 0
True
>>> "" > 0
True
现在它工作得很好

演示:


需要将
raw\u input
转换为
int
,因为
raw\u input
返回
字符串

谢谢!我的系统刷新得有点晚,我没有看到你的答案。“很抱歉。”我很高兴这有帮助。
a = int(raw_input('side 1 \n'))
b = int(raw_input('side 2 \n'))
c = int(raw_input('side 3 \n'))
$ python so.py
side 1 
3
side 2 
4
side 3 
5
possible
a = raw_input('side 1 \n')
b = raw_input('side 2 \n')
c = raw_input('side 3 \n')

def triangle_check(x, y, z):
    if x > 0 and y > 0 and z > 0:
        if z > (x + y) or y > (x + z) or x > (y + z):
            print 'impossible'
        else:
            print 'possible'

triangle_check(int(a), int(b), int(c))