python定义的函数怎么返回遍历的多个值,如果是返回多个字符串呢?
问题描述:
#第一个函数:
def A():
for i in range(3):
if i <3:
pass
print(i) #调用时输出结果是0,1,2
#第二个函数:
def A():
for i in range(3):
if i <3:
pass
return i #调用时输出结果是2
1、有什么办法可以让第二个函数使用return 也能够像第一个函数使用print那样输出3个值的结果
def B():
for i in range(100):
if i <3:
print("编号{},字符串A".format(i))
if 3<i<5:
print("编号{},字符串B".format(i))
if i >5:
print("编号{},字符串C".format(i))
break
2、又如函数B,字符串如果用return该怎么返回
答
用yield返回
# -*- coding: UTF-8 -*-
def A():
for i in range(3):
if i <3:
pass
yield i
return
for i in A():
print(i)
也可以这样调用
def A():
for i in range(3):
if i <3:
pass
yield i
return
itl = A()
result = list(itl)
print(result)
如果问题解决,请点采纳
def A():
for i in range(100):
if i < 3:
yield ("编号{},字符串A".format(i))
if 3<i and i<5:
yield ("编号{},字符串B".format(i))
if i >5:
yield ("编号{},字符串C".format(i))
break
return
itl = A()
result = list(itl)
print(result)