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

2024-09-29 00:17:26 发布

您现在位置:Python中文网/ 问答频道 /正文

好吧,我开始用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 

Tags: 函数代码returndeftotalprint家庭作业函数调用
3条回答

您可以使用(基于零的)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))

相关问题 更多 >