利用Python编写随机生成国际号码的程序
发布时间:2023-12-11 04:11:16
以下是一个利用Python编写的随机生成国际号码的程序,并附带使用例子:
import random
# 定义国家代码和区号列表
country_codes = {
"美国": "+1",
"中国": "+86",
"英国": "+44",
"德国": "+49",
"日本": "+81",
# 添加更多的国家和代码...
}
area_codes = {
"+1": ["202", "212", "213", "310", "415", "512", "617", "713", "808", "917"],
"+86": ["10", "21", "22", "23", "24", "25", "27"],
"+44": ["20", "22", "23", "24", "28", "29", "30", "31", "32", "33"],
"+49": ["30", "31", "40", "69", "221", "511", "622", "911"],
"+81": ["3", "4", "6", "11", "45", "52", "75"]
# 添加更多的区号...
}
def generate_phone_number(country):
# 从 country_codes 字典中获取国家代码
country_code = country_codes.get(country)
if country_code:
# 从 area_codes 字典中获取国家对应的区号列表
area_code_list = area_codes.get(country_code)
if area_code_list:
# 随机从区号列表中选择一个区号
area_code = random.choice(area_code_list)
# 生成 7 位随机号码
phone_number = ''.join(random.choices("0123456789", k=7))
# 合并国家代码、区号和号码,并返回结果
return f"{country_code} {area_code} {phone_number}"
# 如果国家不在国家代码或区号列表中,则返回空字符串
return ""
# 使用例子
if __name__ == "__main__":
countries = ["美国", "中国", "英国", "德国", "日本"]
for country in countries:
phone_number = generate_phone_number(country)
if phone_number:
print(f"{country} 的随机电话号码是:{phone_number}")
else:
print(f"无法生成 {country} 的电话号码")
这个程序首先定义了一个国家代码和区号的字典,其中键是国家的名称,值是国家对应的国家代码。然后定义了一个区号的字典,其中键是国家代码,值是一个包含该国家所有可能区号的列表。
generate_phone_number 函数接收一个国家名称作为输入,然后根据国家名称找到对应的国家代码和区号列表。然后,从区号列表中随机选择一个区号,并生成一个7位的随机号码。最后,将国家代码、区号和号码合并,并返回。
在主程序中,定义了一个包含多个国家名称的列表。然后,对每个国家调用 generate_phone_number 函数生成随机号码,并打印出来。如果生成的号码为空,则说明无法生成该国家的号码。
使用这个程序,你可以根据需要生成不同国家的随机号码,例如:
美国 的随机电话号码是:+1 310 8625307 中国 的随机电话号码是:+86 21 7584342 英国 的随机电话号码是:+44 28 4526098 德国 的随机电话号码是:+49 221 7096358 日本 的随机电话号码是:+81 11 5882745
请注意,以上例子中生成的号码仅用于示范目的,实际生成的号码可能不存在或者以其他方式被使用。
