模拟广东省小汽车摇号小程序,欢迎测试bug

389 阅读2分钟
import random
import string

#需求:
# 1、用户最多预览3次车牌列表,每次有20个车牌。
# 2、用户最多只能选择一次车牌号,选完后把用户选择的车牌号打印出来,并结束程序。
# 3、号码规则是:粤[A-Z] [A-Z与0-9,五位随机组合]**

num = 1     #给3次选号设置一个计数器
num2 = 1        #生成20个车牌号设置一个计数器
num3 = 1        #给车牌号码生成一个下标指示器
choise_num_info = 1     #给用户输入次数计数器
while num <= 3:
    msg = '选号完成,下一位'
    car_list = []
    while num2 <= 20:   #随机生成20个车牌号码
        n1 = random.choice(string.ascii_uppercase)  #随机生成1个大写字母
        n2 = ''.join(random.sample(string.ascii_uppercase+string.digits,5)) #随机生成5个大写字母和数字的组合,并用''连接
        car_num = '粤'+n1+' '+n2     #把完整的车牌拼起来
        car_list.append(car_num)    #把完整的车牌存到car_list表储存
        num2 += 1   #执行完毕后计数器+1
    for i in car_list:  #把车牌列表遍历一遍
        print(str(num3) + '、',i,end='\t')   #用下标的方式显示所有车牌号
        num3 += 1   #执行完毕后下标+1
    if choise_num_info == 3:    #假如用户输入次数是第三次了,那么就执行这个循环里面的代码
        choise_num_end = int(input('\n请选择喜欢的车牌编号,若不选择则放弃此次摇号:'))
        choise_end = car_list[choise_num_end - 1]
        print('你选中的编号是:{}'.format(choise_end))
        exit(msg)
    choise_num = int(input('\n请选择喜欢的车牌编号,若不满意请按"0"键再摇一次:')) #用户输入次数不等于3的时候从这里开始执行
    choise_end = car_list[choise_num - 1]   #拿到用户输入的数字,到车牌列表去找对应的车牌
    if choise_num == 0:     #如果他选车牌输入的是0那么就重置所有计数器,重来一遍
        num2 = 1
        num3 = 1
        num += 1
        choise_num_info += 1
        continue
    print('你选中的编号是:{}'.format(choise_end))  #拿到车牌列表的下标对应的车牌,把他打印给用户
    exit(msg)   #执行完毕,退出循环