🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۵ آرمین رحیم نژاد
خطا روی 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 رو قرار بدید.

Reza Mobaraki ۰۶ آبان ۱۴۰۱، ۰۹:۴۳
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}
Reza Mobaraki ۰۶ آبان ۱۴۰۱، ۱۴:۰۵

df7b-dd.jpg

آرمین رحیم نژاد ۰۶ آبان ۱۴۰۱، ۱۹:۴۱

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

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

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

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

object at 0x1093bfe80> ---> Generator 

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


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

موفق باشید ?

بهترین پاسخ
Reza Mobaraki ۰۷ آبان ۱۴۰۱، ۰۶:۱۴