import random
import exrex


def get_last_name():
    lastnames = ["محمدی","حسینی","احمدی","رضایی","کریمی","موسوی","جعفری","صادقی","حیدری","مرادی","ابراهیمی","رحیمی","هاشمی","قاسمی","صالحی","کاظمی","اکبری","امیری","عباسی","اسدی","امینی","باقری","طاهری","نوری","علیزاده","محمودی","شریفی","سلطانی","نجفی","زارع","یوسفی","زمانی","نظری","ملکی","قربانی","سلیمانی","رحمانی","غلامی","عزیزی","میرزایی","حسنی","خسروی","اسماعیلی","مقدم","عابدی","بهرامی","کرمی","رستمی","نصیری","توکلی","غفاری","خلیلی","جلالی","فتحی","سلیمی","انصاری","فراهانی","نوروزی","حبیبی","عظیمی","شفیعی","زارعی","افشار","رمضانی","نادری","مهدوی","دهقان","دهقانی","رجبی","شمس","بیات","یزدانی","راد","امامی","محسنی","اسلامی","علوی","عسگری","کیانی","رنجبر","فلاح","عبدالهی","قنبری","رشیدی","لطفی","کمالی","عبدی","جمشیدی","رضوی","تهرانی","امین","جوادی","بابایی","علیپور","طالبی","ترابی","اسکندری","مختاری","منصوری","حمیدی","ناصری","شهبازی","نعمتی","شعبانی","ایرانی","جمالی","سعیدی","عسکری","حاتمی","پارسا","صمدی","فرجی","کشاورز","زاهدی","قادری","فرهادی","سهرابی","شیرازی","خانی","اصغری","صابری","مومنی","رضا","پناهی","آزاد","ایزدی","مرتضوی","حقیقی","تقوی","رحمتی","گودرزی","آزادی","جلیلی","محمد","بختیاری","عرب","حسینزاده","عبادی","رسولی","مهرابی","سالاری","شکری","اشرفی","بخشی","میر","مجیدی","ایمانی","رضوانی","شاکری","شجاعی","کلانتری","براتی","امیدی","طهماسبی","رفیعی","اخوان","افشاری","فاطمی","فاظلی","تقیزاده","ملک","مدنی","وکیلی","محمدزاده","آقایی","حاجی","کشانی","طباطبایی","داوودی","زندی","شریف","سعادت","معصومی","بهمنی","افتخاری","آذری","بهشتی","خادمی","میری","احمدیان","ذولفقاری","فتاحی"]
    name = random.choice(lastnames)
    return name


def get_first_name():
    firstnames=["آبتین","آتش","آترین","آتورپات","آذرخش","آذرمه","آذین","آرتین","آرام","آراز","آراد","آرتا","آرتان","آرش","آرشام","آرمان","آرمین","آروین","آریا","آریابان","آریانا","آرین","آریوبرزن","آزاد","آزرمگان","آساد","آستیاژ","آستیاگ","آلان","آوه","آویژه","آیین‌گشسب","آریو","آریافر","آریامن","آریامنش","آریامهر","آریاناخگر","ارخشا","اُرُد","اردشیر","اردلان","اردوان","ارژنگ","ارس","ارشا","آرشام","الیاس","اَرَشک","ارشیا","ارمایل","اروند","اژدر","اسفندیار","اشک","اشکان","اشکبوس","افراسیاب","افشار","افشین","البرز","الوند","امید","انوش","انوشیروان","اورمزد","اورنگ","ایرج","ایشتوویگو","بابک","باربد","بامداد","بامین","بامشاد","بردیا","بزرگمهر","به‌آیین","بهبد","بهرام","بهمن","بهمنش","بیژن","بهروز","بهراد","بهرنگ","بهزاد","بهداد","بهشاد","بهنام","برسام","برزو","برنا","برزن","برومند","برزین","بهداد","جاماسب","جاوید","جمشید","جهانگیر","جهان‌بخش","جهانشاه","جهاندار","جهان","دارا","دادویه","دادمهر","دامون","دانوش","دانو","داراب","داریوش","دیاکورادین","رامبد","رامین","رامتین","رخشان","رستان","روزبه","رادمان","رامان","رایان","رایکا","رها","رهام","راد","رستم","ریونیز","ریکا","زاب","زال","زامیاد","زاوش","زرتشت","زردشت","زرمهر","زند","زوبین","سالار","ساسان","سامان","سام","سروش۰","سپهر","سپنتا","سورن","سورنا","سوشیانت","سوشیانس","سهراب","سهند","سیامک","سیاوش","سیروس","سینا","شادمهر","شروین","شراگیم","شاپور","شایا","شایان","شاهرخ","شاهین","شباهنگ","شهرام","شاهکام","شهراد","شهاب","شهرداد","شهریار","شهروز","شیرزاد","شیرنگ","شهیار","شهبد","شهنام","شوپه","شیریزدان","شاهو","شیروان","شه‌مال","شه‌مزین","شیرکو۰","شورش","فربد","فرزان","فرسا","فرامرز","فرزاد","فرزام","فرزین","فردین","فرداد","فرود","فرورتیش","فرمان","فرهنگ","فریبرز","فرناد","فرهاد","فرنام","فرهام","فرهود","فروهر","فیروز","فرشاد","فرشید","فرخ","فرخزاد","فربد","فهام","فریا","کوروش","کارن","کامبیز","کامران","کامشاد","کامیار","کاوه","کاووس","کنارنگ","کورس","کورش","کیانوش","کیارش","کیاوش","کیا","کیان","کیوس","کوشا","کیخسرو","کیقباد","کیکاووس","کیوان","کیومرث","کیوس","کاردو","کاروان","کاروخ","کازیوه","کارزان(=کاردان)(کردی)","کاژاو","کوماس","گرگین","گستهم","گیو","گودرز","گَرسیوَز","گرشاسب","گشتاسب","گلینوش","گوران","مازیار","ماکان","مانشت","مانی","ماهان","مرداس","مهرگان","مرداویج","مزدک","مکابیز","منوچهر","مهبد","مهداد","مهرداد","مهرزاد","مهرشاد","مهران","مهزاد","مهراب","مهرشاد","مهزیار","مهیار","مهرنگ","میلاد","مه‌ریوان","میلانن","نریمان","نکیسا","نوید","نیما","نیوشا","نوژن","نوذر","نیاسا","ناسیکو","نسکو","نه‌به‌ز۰","نه‌سره‌و","نه‌هروز","نه‌وشیروان","نه‌که‌روز","نچیروان","هامون","هرمز","هورمزد","هورموند","هومن","هوشنگ","هوتن","هومان","هوشیار","هورداد","آبگینه","آبنوس","آتنا","آتوسا۰","اختر","آذر","آذرافروز","آذرگون","آزرمیدخت","آذرنوش","آذین","آرا","آرتمیس","آرزو","آرمینا","آرمینه","آرمیتا","آریانا","آریادخت","آریانوش","آرینا","آزاده","آسانا","آستیاژ","آفتاب","آفرین","آگرین","آلا","آلاء","آلاله","آناهیتا","آندریا","آنوشا","آوا","آوید","آویده","آویزه","آویسا","آوین","آوینه","آهو","ابریشم","اختر","ارغوان","اروشا","اِستِر۰","افروز","افروغ","افسانه","افسر","افسون","افشان","افشار","آرتمیس","اومَتی","امتیس","امیتیس","اناهید","اندیشه","انوشه","ایران","ایرانا","ایرانو","ایرانیک","ایرمن","ایریانا","ایرانبانو","ایراندخت","بانو","بنفشه","بهار","بهاران","بهاره","بهارک","بهدیس","بهدخت","بهرخ","بهشید","بهناز","بهنوش","بوسه","بیتا","باران","پانیذ","پائیزه","پارمیس","پدیده","پرتو","پردیس","پرستو","پرند","پرنیا","پرنیان","پروانه","پروین","پری","پریا","پریچهر","پریدخت","پریرو","پریزاد","پریسا","پریشاد","پریماه","پریناز","پریوش","پگاه","پوپک","پوران","پوران","پوراندخت","پوری","پونه","پژهان","پیمانه","پرنیان","پارمیدا","پادینا","تابنده","ترانه","ترسا","ترمه","ترنه","تهمینه","تیشتر","تیر","ترنگ","دانه","دُرّی","دریا","دلارا","دلارام","دلبر","دلکش","دلوسه","دوکا","دینا","رامش","راشر","رامینا","رسا","رها","رهام","روانی","زرین","زرین‌دخت","زویا","زیبا","زینا","زیور","ژاله","ژرفا","ژیلا","ژینر","ژینا","ساغر","ساناز","سایه","سپیده","ستاره","ستوده","سرگل","سروناز","سمانه","سودابه","سوری","سوزان","سوسن","سوگل","سوگند","سیما","شاپری","شادان","شادی","شانا","شانار","شایسته","شبره","شبنم","شرمینه","شکیبا","شمیلا","شمیم","شهپر","شهربانو","شهرخ","شهربانو","شهرزاد","شهرناز","شهره","شهناز","شهین","شوکا","شقایق","شکوفه","شکوه", "شکیلا","شیدا","شیده","شیرین","شیرین‌بانو","شیفته","شیلا","شیما","شیوا","شورانگیز","فاختک","فرانک","فرشته","فروزنده","فروغ","فریبا","فریما","فرین","فریناز","فوژان","فیروزه","فریماه","فرنوش","کتایون","کمند","کرانه","کشور","کیان","کیانا","گلاره","گلاوژ","گل‌افروز","گل‌اندام","گلبانو","گلبهار","گلابتون","گلبیز","گلپا","گلپری","گلپونه","گلتاج","گلتن","گلرخ","گلرو","گلشن","گلشید","گلشیفته","گلمیس","گلنار","گلناز","گلنوش","گلی","گوهر","گوهرشاد","گیتا","گیتی","گیسو","گیلا","گیلان","لادن","لاله","لاله‌رخ","مازون","مامک","مانا","ماندان","ماندانا","مانلی","ماه‌پری","ماهتو","ماه‌چهر","ماهدخت","ماه‌برزین","ماهنوش","ماه‌جهان","ماهزاد","ماهک","مرجان","مرجانه","مروارید","مژده","مژگان","مسل","مستانه","مشکان‌دخت","مشکین‌دخت","مونا","منیژه","مهتا","مهتاب","مهدخت","مهدیس","مهرآذر","مهرا","مهراد","مهراب","مهرانگیز","مهرانه","مهرسا","مهروا","مهرک","مهری","مهزاد","مهسا","مهستی","مهشید","مهکامه","مهناز","مهنوش","مهکامه","مهین","موژان","میترا","میخک","میگل","مینا","مینو","نازآفرین","نازگل","نازنین","نازیلا","ناژیلا","ناژین","ناهید","نرگس","نرمین","نسترن","نسرین","نگار","نگین","نهال","نوا","نوش‌آفرین","نوشزاد","نوشین","نیلوفر","نیکو","نیکی","نیکسا","نیشا","هستی","هما","هنگامه","هوروَش","یارا","یاس","یاسمن","یاسمین","یگانه","یکتا","یسنا","یوتاب"]
    name = random.choice(firstnames)
    return name


def random_name():
    fname = get_first_name()
    lname = get_last_name()
    return f'{fname} + ' ' + {lname}'


def random_email():
    email = exrex.getone('[A-Z][a-z]{5}\.[a-z]{4}[0-9]{2}@gmail\.com')
    return email


def random_student_number():
    number = exrex.getone('9[5-9]1[1-2]{2}[1-9]{4}')
    return number


def random_field():
    field = random.choice(["برق","مکانیک","عمران","صنایع","شیمی","کامپیوتر","مواد","هوافضا","معماری"])
    return field


def melli_code():
    code = exrex.getone('[0-9]{10}')
    return code


def dial_num()
    number = exrex.getone('09[1-3][0-9]{8}')
    return number
