如何一次性返回多个字符串?Python因数函数输出问题求助
问题解决与解答
1. 代码只返回第一个因数的原因及修复
你的代码里return(divisor)会在找到第一个符合条件的因数时立刻终止函数并返回该值,所以只会得到1。要收集所有因数,得先把符合条件的数存进容器,等循环结束后再统一返回。
修复后的代码示例:
def divisores(numero): divisores_lista = [] divisor = 0 while divisor < numero : divisor += 1 if numero % divisor == 0: divisores_lista.append(divisor) return divisores_lista # 调用函数并一行展示结果 resultado = divisores(50) print(", ".join(map(str, resultado))) # 输出:1, 2, 5, 10, 25, 50
也可以用更简洁的列表推导式写法:
def divisores(numero): return [divisor for divisor in range(1, numero+1) if numero % divisor == 0] print(", ".join(map(str, divisores(50))))
2. 一次性返回多个字符串的方法
Python里可以通过返回列表、元组这类容器来一次性返回多个值,示例如下:
- 返回列表:
def retornar_multiplas_strings(): return ["字符串1", "字符串2", "字符串3"] strs = retornar_multiplas_strings() print(strs) # 输出:['字符串1', '字符串2', '字符串3']
- 返回元组(可省略括号):
def retornar_multiplas_strings(): return "字符串1", "字符串2", "字符串3" # 可以逐个接收返回值 str1, str2, str3 = retornar_multiplas_strings() print(str1, str2, str3) # 输出:字符串1 字符串2 字符串3
内容的提问来源于stack exchange,提问作者André Liberal de Andrade
相关产品推荐
相关产品推荐

