• 1399/03/13

گرفتن خروجی از تابع بدون استفاده از return :

سلام 

من حلقه زیر را ایجاد کردم و می خواهم تا زمانی که شمارشگر حلقه به انتها نرسیده خروجی را برگرداند منتها با return به صورت کامل از if  و حلقه خارج میشم. ایا امکانی وجود دارد که بتوانم این مشکل را رفع کنم و تمام خروجی ها را برگردانم؟

    res, score = zip(*max)
    try:
        i = 0
        while i < len(res):
            if res[i] in commondocs:  
                i += 1
                return f"Result { i} => { res[i]} -- And its Score is { score[i]}"
            elif res[i] not in commondocs:
                i += 1
        return "Searchig Finished"
    except UnboundLocalError:  
        return "None"

از yield هم که به جای returnها استفاده کردم خروجی رو به شکل زیر برمی گرداند:

<generator object query at 0x0000000005A58748>

چه طور می توانم این مشکل را رفع کنم؟

logo-samandehi