weixin_42979701
weixin_42979701
2019-07-05 12:01
采纳率: 66.7%
浏览 1.6k

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该怎么返回

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • caozhy
    已采纳

    用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)
    

    如果问题解决,请点采纳

    点赞 评论

相关推荐