Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.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 - Fatal编程技术网

Python 为什么两个列表项的除法总是等于零?

Python 为什么两个列表项的除法总是等于零?,python,Python,我试图将列表中的两个整数除法。每当我除以这两个整数,我得到零。无论我在列表中使用什么整数,我总是得到零 def sideList_func(): lengths = user_sides(6.0, 7.0, 8.0) sideList = [] for i in lengths: sideList.append(int(i)) return sideList def angles_for_triangle(): side

我试图将列表中的两个整数除法。每当我除以这两个整数,我得到零。无论我在列表中使用什么整数,我总是得到零

 def sideList_func():
     lengths = user_sides(6.0, 7.0, 8.0)
     sideList = []
     for i in lengths:
         sideList.append(int(i))
     return sideList


 def angles_for_triangle():
     sideList = sideList_func()
     angle = sideList[1]/sideList[2]
     return angle
我试过使用
/
。如果我使用两个不属于这个列表的正则整数,它工作得很好,所以我认为它必须与我的列表函数有关

编辑:这是用户界面

 def user_sides(x,y,z):
     side1 = x
     side2 = y
     side3 = z
     print(side1, side2, side3)
     return side1, side2, side3

在Python 2中,整数除以整数始终是整数

print 5/2
结果:2

但是,如果将5转换为float,将得到结果2.5

print 5.0/2

结果:2.5

您的代码可以简化,您得到的错误可能是因为您使用的是Python2.x的整数除法。试试这个:

# this line will get your decimals back :)
from __future__ import division

def sideList_func():
     return [int(i) for i in (6.0, 7.0, 8.0)]

 def angles_for_triangle():
     sideList = sideList_func()
     return sideList[1] / sideList[2]
我真的不认为有必要使用
sideList_func
,如果这些值是固定的并且事先知道的,那么您可以简单地将它们写成
int
s开始:

sideList = [6, 7, 8]
顺便说一句,您所有的代码都只是这样做的:

def angles_for_triangle():
    return 7 / 8

user\u-sides
的定义是什么?
user\u-sides
是无用的,顺便说一句,
sideList\u-func
。。直接使用
list
就行了……是的,我知道,这就是我最初没有把它放上去的原因。我计划稍后对其进行更改。实际上,
三角形的角度将
7
除以
8
,在Python 2中为0。这可能就是问题所在。