import random
import string
def generate_license_plates(num_plates=20):
# 定义合法的字母和数字集合
valid_letters = [ch for ch in string.ascii_uppercase if ch not in "BGVP"]#不带B\G\V\P字母
valid_numbers = [str(num) for num in range(10) if num not in {3, 4, 7}]#不带3、4、7数字
plates = set() # 使用集合避免重复车牌
# 生成指定数量的车牌
while len(plates) < num_plates:
letters = random.sample(valid_letters, 2) # 随机选择两个不同字母
numbers = random.sample(valid_numbers, 3) # 随机选择三个不同数字
plate = ''.join(letters + numbers) # 组合成车牌
plates.add(plate) # 添加到集合
return list(plates)
# 调用函数生成40个车牌并打印
license_plates = generate_license_plates()
for plate in license_plates:
print(plate)