python - 如何从函数返回两个参数
问题描述
我对 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("", ""))
应该返回一个空字符串。
谁能指出我的错误?
解决方案
在您的代码中,您正在将一个字符串与一个始终为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"
您可以根据您的程序逻辑进行检查。
希望以某种方式有所帮助
推荐阅读
- java - 使用 neo4j OGM 按属性名称查找节点
- nginx - “ngx_http_subrequest”是否污染了响应?
- java - 如何确定 ConstraintViolation 是来自 JSON 属性还是来自 URL 参数?
- javascript - jquery没有在span上找到类?
- ansible - Ansible 2.5 中的条件“when: var | d()”是什么意思
- xamarin - WatchKit 应用程序无法编译:“错误:WatchKit 扩展不包含任何 WatchKit 应用程序”仅在 2 台机器中的 1 台上
- python - 每个目标变量的特征重要性和选择
- angular - FileReader 在 Angular 2 中不起作用
- python - django 视图中的 unittestsensitive_post_parameters 装饰器
- powerbi - 我需要每天在 power bi 上进行状态计数