تسک های جلسه نوشتن Decorator در پایتون

پرسیده شده
فعالیت 894 روز پیش
دیده شده 806 بار
0

دانشجوهای دوره پایتون وب و سرفصل اسکریپت‌نویسی در پایتون

تسک های زیر رو انجام بدید و توی همین تاپیک کدهای خودتون رو بفرستید:

تسک 1) سعی کنید با هرچیزی که از ویدیو یاد گرفتید کامل خودتون یکبار همه این کدهارو بنویسید و پیاده سازی کنید.
تسک 2) با خلاقیت خودتون این سعی کنید این کد رو بهترش کنید و اصلاحش کنید.

فایل پیوست

محمدعلی رضا
محمدعلی رضا

15 مهر 99

0
حذف شده
from string import ascii_lowercase, ascii_uppercase, digits, punctuation
from random import choices


def password_cheked(f):
    def wrapper(*args, **kwargs):
        result = ""
        result += f'{any(i.isdigit() for i in f(*args, **kwargs))}'
        result += f'{any(i.isupper() for i in f(*args, **kwargs))}'
        result += f'{any(i.islower() for i in f(*args, **kwargs))}'
        result += f'{any(i in punctuation for i in f(*args, **kwargs))}'
        print(result)
        if result.count('True') != 4:
            return "password"
    return wrapper()


@password_cheked
def create_password(length=8, upper=False, lower=False,
                    digit=False, pun=False):
    pool = ''

    if lower:
        pool += ascii_lowercase

    if upper:
        pool += ascii_uppercase

    if digit:
        pool += digits

    if pun:
        pool += punctuation

    if pool != '':
        c = ''.join(choices(pool, k=length))
        print(c)
        return c


if __name__ == '__main__':
    a = create_password(lower=True, digit=True, upper=True, pun=True)
    print(a)

سلام من این تسک رو به این شکل انجام دادم که با دکوریتور بتونه قوی بودن پسورد را هم چک کنه

فایل پیوست

Ahmad As

توسط

Ahmad As

17 مهر 99

حذف شده
سلام داخل دکوراتور password_cheked در انتها تابع wrapper نباید call بشه
Mohsen Azizi

10 اردیبهشت 00

حذف شده
درسته. احمد آقا این تیکه رو اصلاح کنید.
محمدعلی رضا

10 اردیبهشت 00

0
حذف شده

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

اگه میشه یه چک بکنید

فایل پیوست
rsp.zip
1.44 KB

AmirHossein Bonakdar

توسط

AmirHossein Bonakdar

15 آذر 99

0
حذف شده

 

 

 

my codes

فایل پیوست
rpsd.rar
1.1 KB

Mj Baramaki

توسط

Mj Baramaki

22 آذر 99

1
حذف شده

سلام

یه روش دیگه برای رسیدن از ثانیه به مقدار ساعت دقیقه و ثانیه اینه که از کتابخونه time استفاده کنیم:

import time

duration = (end_time - start_time).seconds
format_duration = time.strftime("%H:%M:%S", time.gmtime(duration))

استاد برا تبدیل از کد زیر استفاده کرد:

duration = end_time - start_time
hours = duration.seconds // 3600
minutes = duration.seconds // 60
seconds = duration.seconds % 60

این کد مقدار دقیقه رو اشتباه بر میگردونه(مثلا میتونید برا مقدار ۴۰۰۰ ثانیه امتحان کنید)
جواب کامل رو داخل کادر پایین مینویسم:

duration = end_time - start_time
time = duration.seconds

hours = time // 3600
time = time % 3600
minutes = time // 60
seconds = time % 60

 

فایل پیوست

Mohsen Azizi

توسط

Mohsen Azizi

10 اردیبهشت 00

حذف شده
جواب تون رو پاسخ زیر دادم :)
محمدعلی رضا

10 اردیبهشت 00

1
حذف شده

سلاااااااااااااااااااام محسن جان

این روش استفاده از کتابخونه time رو تا حالا بهش فکر نکرده بودم. ایول.

این اشتباهی هم که گفتی درسته. من به استاد اطلاع میدم.

خیلی خوبه که اینقدر با توجه ویدیو ها رو میبینی و دنبال روش های دیگه برای حل مساله هستی.

خدا قوت :)

فایل پیوست

محمدعلی رضا

توسط

محمدعلی رضا

10 اردیبهشت 00

0
حذف شده

Done!

فایل پیوست
srp.zip
158 B

Kamand K

توسط

Kamand K

28 مرداد 00

0
حذف شده

سلام وقت بخیر. تسک های این بخش انجام شد. یک decorator نیز برای شروع و اتمام بازی نوشتم.

فایل پیوست
decoration.rar
1.23 KB

نرگس محرمی

توسط

نرگس محرمی

26 مهر 00

0
حذف شده

سلام وقت بخیر

تسک ها انجام شد

یه مقدار به خاطر اینکه توی دکوریتور گنگم نتونستم خلاقیتی به خرج بدم

فایل پیوست

Navid JN

توسط

Navid JN

16 آبان 00