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

Python 如何在一个函数中给出两个独立的结果?

Python 如何在一个函数中给出两个独立的结果?,python,function,import,module,Python,Function,Import,Module,好的,我开始用python编写代码,作为我的家庭作业,我将制作一个函数,稍后它将被另一个不同的函数调用,但我遇到了一个问题,我必须在主函数中独立给出这两个结果(这样我将在最后一个函数中给出一个更好的表)。我的代码如下所示: def converpies(cant): total = 0.305*cant total2 = cant / 0.305 return total, total2 from lab8 import converpies def prueba2(

好的,我开始用python编写代码,作为我的家庭作业,我将制作一个函数,稍后它将被另一个不同的函数调用,但我遇到了一个问题,我必须在主函数中独立给出这两个结果(这样我将在最后一个函数中给出一个更好的表)。我的代码如下所示:

def converpies(cant):
    total = 0.305*cant
    total2 = cant / 0.305
    return total, total2

from lab8 import converpies

def prueba2():
    cant = 1
    pies = 1
    metros = 1
    print ('pies','\t', 'metros', '\t', 'metros', '\t', 'pies') 
    while cant != 20:
        resultado = converpies(cant)
        print (pies ,'\t', resultado,'\t', metros)
        cant = cant + 1
        pies = pies + 1
        metros = metros + 1 

您可以使用(基于零的)
tupl[index]
符号从元组访问不同的元素

在您的示例中,第一个元素为
resultado[0]
,第二个元素为
resultado[1]
,例如:

def converpies(cant):
    total = 0.305*cant
    total2 = cant / 0.305
    return (total, total2)

from lab8 import converpies

def prueba2():
    cant = 1
    pies = 1
    metros = 1
    print ('pies','\t', 'metros', '\t', 'metros', '\t', 'pies') 
    while cant != 20:
        resultado = converpies(cant)
        print (pies ,'\t', resultado[0], '\t', resultado[1], metros)
        cant = cant + 1
        pies = pies + 1
        metros = metros + 1 

函数coverpies()返回两个值

def converpies(cant):
    total = 0.305*cant
    total2 = cant / 0.305
    return total, total2
Python允许多个返回值,也允许多个赋值,所以我认为您想要实现的是这个

from lab8 import converpies

def prueba2():
    cant = 1
    pies = 1
    metros = 1
    print ('pies','\t', 'metros', '\t', 'metros', '\t', 'pies') 
    while cant != 20:
        total, total2 = converpies(cant)
        cant = cant + 1
        pies = pies + 1
        metros = metros + 1 

从函数返回多个值时,它们将作为元组传递。因此,您可以通过索引访问其内容:

print (pies ,'\t', resultado[0],'\t', 
       resultado[1], '\t', metros)
或在调用函数中直接解压缩到多个名称:

resultado1, resultado2 = converpies(...)
注意:您可以使用以下方法改进
打印

'\t'.join((pies, resultado1, resultado2, metros))

你能解释清楚你独立返回结果的意思吗?您想将结果分配给不同的变量吗?您的意思可能是:
total,total2=converpies(cant)