🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ علی شهریاری
برسی درستی کد
جامعه پایتون (وب) ایجاد شده در ۰۳ فروردین ۱۴۰۲

سلام این کد رو من نوشتم میخواستم و به نظر خودم این کد رو بیشتر از کدی که استاد نوشت درک میکنم میخواستم ببینم این کد درست تره یا کد استاد

teams = [
    {'name': 'esteghlal','result':'wwwwwwwwwwwwwddddlllddd'},
    {'name': 'perspolis', 'result':'wwwwwwwwwwwwwdddllllddd'},
    {'name': 'sepaha', 'result':'wwwwwwwdddddddllwwwwwww'}
]
result = list()
def parse_result(teams):
    for team in teams:
        win = 0
        lose = 0
        draw = 0
        for i in team['result']:
            if i == 'w': win += 1
            elif i == 'l': lose += 1
            elif i == 'd' : draw += 1
        else :
            result.append({'name': team["name"], 'win': win, 'lose': lose, 'draw': draw})
parse_result(teams)
print(result)
score = list()
def calculate_score(tem):
    scor = 0
    for i in tem:
        scor = (i['win'] * 3) + i['draw']
        score.append({'name': i['name'], 'score': scor})
calculate_score(result)
print(score)
a = sorted(score , key= lambda x :x['score'])
print(a)

درود امیدوارم عالی باشید

اینکه چه کدی درست‌تر هست مرتبط به پیچیدگی زمانی و فضایی اون هستش. حالا اینکه Time Or Space complexity چی هست.

پیشنهاد میکنم این رو ببینی Big-O Complexity و همچنین دربارش مطالعه داشته باشی.

و مورد بعدی پایتونیک کد زدن هست که هرچه شما از built-in‌ها بهتر و بیشتر بتونی استفاده کنی قطعا کد تمیز‌تر و کمتری زدی.

حالا برای اینکه بفهمی کدی که زدی بهتره یا کد استاد پیشنهاد میکنم از ابزار هایی که زمان (و فضای اشغال شده) اجرای کد رو در زمان اجرا بهت میدن استفاده کنی. هر کدوم کمتر بشه اون احتمالا کد بهینه‌تری هست.

نکته : یه کد خوب کدیه که هم human readable باشه هم بهینه.

موفق باشید?

بهترین پاسخ
Reza Mobaraki ۰۳ فروردین ۱۴۰۲، ۱۵:۰۶