سرمایه گذاری متفاوت در سال نو 🍎🌱 ۳۵٪ تخفیف نوروزی ➕ حضور رایگان در مسترمایند نخبگان صنعت نرم‌افزار 💻✅
۰ ثانیه
۰ دقیقه
۰ ساعت
۷ محمدعلی رضا
تسک‌های جلسه نوشتن Decorator در پایتون
Ahmad As حل شده توسط Ahmad As

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

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

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

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 ۱۷ مهر ۱۳۹۹، ۱۲:۵۷

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

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

AmirHossein Bonakdar ۱۵ آذر ۱۳۹۹، ۱۷:۱۳

 

 

 

my codes

Mj Baramaki ۲۲ آذر ۱۳۹۹، ۰۴:۳۸

سلام

یه روش دیگه برای رسیدن از ثانیه به مقدار ساعت دقیقه و ثانیه اینه که از کتابخونه 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 ۱۰ اردیبهشت ۱۴۰۰، ۱۱:۱۷

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

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

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

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

خدا قوت :)

محمدعلی رضا ۱۰ اردیبهشت ۱۴۰۰، ۲۱:۴۶

Done!

Kamand K ۲۸ مرداد ۱۴۰۰، ۱۲:۳۸

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

نرگس محرمی ۲۶ مهر ۱۴۰۰، ۱۸:۳۹