حالت آفلاین — محتوا از حافظهٔ کش نمایش داده می‌شود
همهٔ تمرین‌ها

جداسازی بخش های ایمیل

تمرین آسان 2520 visibility link download flag

برنامه ای بنویسید که یک آدرس ایمیل دریافت کند و بخش های مختلف آن را به شکل زیر جداسازی کند و در خروجی چاپ کند

مثال:

email: info@amirhn.ir
info
amirhn.ir

مثال:

email: username@gmail.com
username
gmail.com 
👨‍💻 7 ساعت قبل User 10576 این تمرین رو مشاهده کرد
👨‍💻 8 ساعت قبل کاربر ناشناس این تمرین رو مشاهده کرد

پاسخ‌ها 29

class Email:
    def __init__(self,email):
        self.email = email
        self.username = ""
        self.domain = ""

    def emai(self):
        self.username,self.domain = self.email.split("@")
        return f"{self.username}\n{self.domain}"

email = input("enter your email =")
print(Email(email).emai())



# در این کد ایمیل کاربر گرفته میشود
email = input('enter email: ')

find = email.find('@')

if find == -1: # در این قسمت از کد هم برسی میشود که ایمیل درست وارد شده است
    print('Please enter the correct email.')
else: # اگر ایمیل درست وارد شده باشد قبل از اتساین و بعد از اتساین پرینت میشود
    print(email[:find])
    print(email[find:])
# کد رنگ‌ها
RED = '\033[91m'  # قرمز
LIGHT_RED = '\033[38;5;160m'  # قرمز مایل به رنگ نارنجی
GREEN = '\033[92m'  # سبز
PURPLE_LIGHT = '\033[38;5;141m'  # بنفش خیلی روشن‌تر
GRAY = '\033[90m'  # خاکستری روشن
YELLOW = '\033[93m'  # طلایی
PINK = '\033[95m'  # صورتی
RESET = '\033[0m'  # بازنشانی رنگ به پیش‌فرض

attempts = 6  # تعداد دفعات مجاز برای وارد کردن ایمیل

# حلقه برای درخواست ایمیل از کاربر، با محدودیت تعداد تلاش‌ها
while attempts > 0:  # تا زمانی که تعداد تلاش‌ها بیشتر از ۰ باشد، حلقه ادامه دارد
    email = input("Enter email: ")  # دریافت ایمیل از کاربر
    
    # بررسی اینکه ایمیل باید حاوی فقط یک @ باشد
    if "@" in email and email.count("@") == 1:
        x = email.find("@")  # پیدا کردن موقعیت اولین @ در رشته ایمیل
        before = email[:x]  # گرفتن بخش قبل از @ (نام کاربری)
        after = email[x:]   # گرفتن بخش شامل @ و دامنه (از @ به بعد)

        # بررسی اینکه بعد از @ باید حداقل یک نقطه (.) وجود داشته باشد
        if before and after.count(".") >= 1:
            # پیدا کردن موقعیت آخرین نقطه (.) در دامنه
            last_dot = after.rfind(".")  # پیدا کردن موقعیت آخرین نقطه (.) در دامنه
            # قسمت از @ تا قبل از آخرین نقطه (که شامل دامنه بدون پسوند است)
            domain_with_at = after[:last_dot]  
            # پسوند دامنه که بعد از آخرین نقطه قرار دارد
            extension = after[last_dot+1:]  

            # بررسی اینکه دامنه و پسوند معتبر باشند
            if domain_with_at and extension and len(extension) >= 2:
                # چاپ نام کاربری به رنگ خاکستری روشن
                print(f"Text: {GRAY}{before}{RESET}")  
                # چاپ دامنه به رنگ سبز
                print(f"Domain: {GREEN}{domain_with_at}{RESET}")  
                # چاپ پسوند دامنه به رنگ خاکستری روشن
                print(f"Extension: {GRAY}{extension}{RESET}")  
                
                # ترکیب ایمیل کامل به صورت صحیح
                # قبل از @ (نام کاربری) + @ + دامنه + . + پسوند دامنه
                full_email = before + "@" + domain_with_at + "." + extension  
                
                # چاپ ایمیل کامل با رنگ‌بندی صحیح:
                # نام کاربری به خاکستری، دامنه به سبز و پسوند به خاکستری
                print(f"Full Email: {GRAY}{before}{RESET}{GREEN}@{domain_with_at}{RESET}.{GRAY}{extension}{RESET}")  
                break  # خروج از حلقه در صورت صحیح بودن ایمیل

    # اگر ایمیل وارد شده اشتباه باشد، تعداد تلاش‌ها کاهش می‌یابد
    attempts -= 1  # کاهش تعداد تلاش‌ها بعد از هر ورود نامعتبر
    
    # اگر تعداد تلاش‌های باقی‌مانده بیشتر از ۳ باشد، پیام خطا به رنگ طلایی نمایش داده می‌شود
    if attempts > 3:
        print(f"{YELLOW}The email structure is incorrect. Try again.{RESET}")
    
    # اگر تعداد تلاش‌های باقی‌مانده کمتر یا برابر ۳ باشد، پیام هشدار با تعداد تلاش‌های باقی‌مانده به رنگ بنفش خیلی روشن نمایش داده می‌شود
    if 0 < attempts <= 3:
        print(f"{PURPLE_LIGHT}Try again... {RED}⚠️{attempts} attempts left⚠️{RESET}") 

# اگر تعداد تلاش‌ها به ۰ برسد، پیام خروج به رنگ صورتی نمایش داده می‌شود
if attempts == 0:
    print(f"{PINK}your deadline has expired...{RESET}")

ارسال جواب

جوابت را با Markdown بنویس و ثبت کن

×
بستن