تشخیص کشور از روی شماره موبایل
برنامهای بنویسید که شمارهٔ تلفن همراه را از کاربر دریافت کند و کشور مرتبط با آن را نمایش دهد.
برنامهای بنویسید که شمارهٔ تلفن همراه را از کاربر دریافت کند و کشور مرتبط با آن را نمایش دهد.
برای تشخیص کشور، شماره باید با پیششمارهٔ بینالمللی وارد شود؛ مثلاً +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("کشور شناسایی نشد")
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 بنویس و ثبت کن
برای استفاده از این بخش باید وارد حساب کاربریت بشی
ورود/ثبت نامتوضیح کوتاهی بنویسید تا تیم بررسی کند.