🔥 ۴۰ درصد تخفیف ثبت‌نام دوره‌ها قبل از افزایش قیمت‌ها
۰ ثانیه
۰ دقیقه
۰ ساعت
۵ شهپر حبیبی
خطا روی filter
جامعه پایتون (وب) ایجاد شده در ۰۶ آبان ۱۴۰۱

سلام وقت بخیر من یک خطای عجیبی روی filter خوردم براتون ارسال میکنم ممنون میشم پاسخ دهید

from data import teams
def parsa_result(team):
    # win = team['result'].count('w')
    # lose = team['result'].count('l')
    # draw = team['result'].count('d')
    #
    # print(f'name:{team["name"]}\\twin:{win}\\tdraw:{draw}\\tlose:{lose}')
    return{
    'name':team['name'],
    'win' : team['result'].count('w'),
    'lose' : team['result'].count('l'),
    'draw' : team['result'].count('d'),
}
def calculate_score(team):
    score=(team['win']*3)+team['draw']
    team['score']=score
    return team
def chek_score(team):
    return team['score'] >= 20
# tmp_score_boared=list()
# for team in teams:
#    tmp_score_boared.append(parsa_result(team))
tmp_score_boared=list(map(parsa_result,teams))
# score_boared=list()
# for team in tmp_score_boared:
#     score_boared.append(calculate_score(team))
score_boared=list(map(calculate_score,tmp_score_boared))
passed_teams=list()
passed_teams=filter(chek_score,score_boared)
for team in passed_teams:
    print(passed_teams)
for team in score_boared:
    print(team)

درود وقت بخیر. . .

لطفا فایل data رو قرار بدید.

نیماد کاکاوند ۰۶ آبان ۱۴۰۱، ۰۹:۴۳
teams = [
         {'name' : "perspolis", "result" : "wwwwwwdddl"},
         {'name' : "sepahan", "result" : "wwwwwddddl"},
         {'name' : "esteghlal", "result" : "wwwwwddddl"},
       ]


شهپر حبیبی ۰۶ آبان ۱۴۰۱، ۱۱:۱۳

دقیقا به چه خطایی خوردی ؟


{'name': 'perspolis', 'win': 6, 'lose': 1, 'draw': 3, 'score': 21}
{'name': 'sepahan', 'win': 5, 'lose': 1, 'draw': 4, 'score': 19}
{'name': 'esteghlal', 'win': 5, 'lose': 1, 'draw': 4, 'score': 19}
نیماد کاکاوند ۰۶ آبان ۱۴۰۱، ۱۴:۰۵

df7b-dd.jpg

شهپر حبیبی ۰۶ آبان ۱۴۰۱، ۱۹:۴۱

سلاااام وقتت بخیر. . .

برای چاپ کردن مقدار فیلتر توی بلاک کد زیر بایستی خود تابع یا مقدار passed_teams را در لیست قرار دهید

passed_teams = list()
passed_teams = filter(chek_score, score_boared)

در غیر این صورت خروجی تابع فیلتر به شما Generator خواهد بود

object at 0x1093bfe80> ---> Generator 

پیشنهاد میکنم قسمت جنیریتور هارو برای رفع ابهام ببینید .


اگ سوالتون حل شد ممنون میشم تاید رو بزنید تا تاپیک بسته بشه

موفق باشید ?

بهترین پاسخ
نیماد کاکاوند ۰۷ آبان ۱۴۰۱، ۰۶:۱۴