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

تشخیص کشور از روی شماره موبایل

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

برنامه‌ای بنویسید که شمارهٔ تلفن همراه را از کاربر دریافت کند و کشور مرتبط با آن را نمایش دهد.

پاسخ‌ها 3

برای تشخیص کشور، شماره باید با پیش‌شمارهٔ بین‌المللی وارد شود؛ مثلاً +98912...:

import re

country_codes = {
    "+98": "ایران",
    "+93": "افغانستان",
    "+90": "ترکیه",
    "+44": "بریتانیا",
    "+49": "آلمان",
    "+33": "فرانسه",
    "+971": "امارات",
    "+91": "هند",
    "+92": "پاکستان",
    "+1": "آمریکا یا کانادا",
}

phone = input("شماره تلفن را وارد کنید: ").strip()
phone = re.sub(r"[\s()-]", "", phone)

if phone.startswith("00"):
    phone = "+" + phone[2:]

for code in sorted(country_codes, key=len, reverse=True):
    if phone.startswith(code):
        print(country_codes[code])
        break
else:
    print("کشور شناسایی نشد")
پاسخ هوش مصنوعی Ai Python
import phonenumbers 
from phonenumbers import geocoder

number = phonenumbers.parse(input("Enter Phone Number With your Region code : "))
country = geocoder.description_for_number(number , "en")
print(f"You`re region is :{country}")
import phonenumbers
from phonenumbers import geocoder

def get_country_from_phone(phone_number, default_region=None):
    """
    تشخیص کشور از شماره تلفن

    Args:
        phone_number (str): شماره تلفن (با کد کشور)
        default_region (str): منطقه پیش‌فرض برای شماره‌های بدون کد کشور

    Returns:
        str: نام کشور یا پیام خطا
    """
    try:
        # تجزیه شماره تلفن
        # اگر شماره با + شروع شود، default_region لازم نیست
        parsed_number = phonenumbers.parse(phone_number, default_region)

        # بررسی معتبر بودن شماره
        if not phonenumbers.is_valid_number(parsed_number):
            return "❌ شماره تلفن نامعتبر است"

        # دریافت نام کشور بر اساس کد کشور
        country_name = geocoder.description_for_number(parsed_number, "fa")

        if country_name:
            return f"

ارسال جواب

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

×
بستن