模拟真实的车牌号,网上有一些,看着挺像的,实际上它们没有考虑各省的实际情况,比如很多博主车牌号第二位竟然有 I 和 O ....
科普一下:汽车车牌中没有字母I和O,这是为了避免与阿拉伯数字1和0产生混淆。 由于字母I和O在视觉上容易与数字1和0相混淆,为了保持车牌号码的清晰度和易于识别,交通管理部门决定在车牌号码中不使用这两个字母。
还有直接就是第二位循环A-Z的,这也不符合现实情况,有些省份地区根本没这么多。
以下是真实情况下的车牌号,仅供参考:
import random
import string
# 随机生成车牌号
def generate_car_plate(province_name):
dict1 = {
"鄂":['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K','L', 'M', 'N', 'P', 'Q','R','S'],
"甘": ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M', 'N', 'P'],
"晋": ['A', 'B', 'C', 'D', 'E', 'F','H', 'J', 'K', 'L', 'M']
}
province = [province_name]
city = dict1[province_name]
num = [str(i) for i in range(0, 10)] + [str(i) for i in list(string.ascii_uppercase)]
id_1 = random.choice(province)
id_2 = random.choice(city)
while True:
id_3 = ''.join(random.choice(num) for _ in range(5))
# 排除全是字母的情况
v = id_3.isalpha()
if v == True:
continue
else:
# 随机选择省份、城市和车牌号码
plate = id_1 + id_2 + id_3
break
return plate
if "__main__" == __name__:
print(generate_car_plate("甘"))
例子中只有三个省份,其他省的不想费劲查了,想用的话就查一下各省的真实情况,写进字典里就好。