首页 > 解决方案 > 如何从函数返回两个参数

问题描述

我对 python 编程很陌生,我需要一些帮助来解决以下函数的问题:

def format_name(first_name, last_name):
    string = first_name, last_name

    if string == first_name and last_name:
      return ('Name: ' + last_name + ', ' + first_name)

    elif string == '' and last_name:
      return ('Name: ' + last_name)

    elif string == first_name and '':
      return ('Name: ' + first_name)

    else:
      return ''

    return string 

所需的输出:

print(format_name("Ernest", "Hemingway"))

应该返回字符串Name: Hemingway, Ernest

    print(format_name("", "Madonna"))

应该返回字符串Name: Madonna

print(format_name("Voltaire", ""))

应该返回字符串Name: Voltaire

print(format_name("", ""))

应该返回一个空字符串。

谁能指出我的错误?

标签: pythonfunction

解决方案


在您的代码中,您正在将一个字符串与一个始终为False string = first_name, last_name字符串值的元组进行比较,这将是一个像这样的元组('fname', 'lname'),当然它不等于任何字符串。

如果要返回多个值作为函数的返回值,可以执行以下操作:

def func():
  return "first string", "second string"

这将返回以下元组("first string", "second string")

您可以按以下方式接收它:

first, second = func()

first"first string"作为字符串,在这种情况下也second将作为字符串"second string"

您可以根据您的程序逻辑进行检查。

希望以某种方式有所帮助


推荐阅读