一、题目
见图片
原方法见下方链接
python生成车牌号,用户输入确认选择(涉及random函数,链表数据存储,.join()函数使用,for循环和while循环)_qq_46407662的博客-CSDN博客
二、涉及函数
# import string string库
#string.ascii_uppercase 大写字母
#string.digits 数字
#+ string 用➕表示直接连接上去
# .append() 是插入到 链表 的最后位置加入 字符串,不需要进行变量赋值
# A in B 判断 字符串A 是否在字符串 B中 (注意:仅仅用于字符串匹配链表)
# .strip() Return a copy of the string with leading and trailing whitespace removed. 仅仅用于字符串删空格 If chars is given and not None, remove characters in chars instead.
三、代码
# 01 将生成的号码 放入 c_num变量
import random
import string
# 01 将生成的号码 放入 c_num变量
c_num = []
for i in range (20):
#生成第一个号码
n1 = random.choice(string.ascii_uppercase)
#生成第二个号码
n2 = "".join(random.sample(string.ascii_uppercase+string.digits,5))
#把生成的号码放到字符串中
c_num.append(f"京{n1}-{n2}")
#打印随机生成的车牌号,每5个号码换行
print(f"京{n1}-{n2}",end=" ")
if (i+1)%5 == 0:
print()
# 02 用户判断
# 02 用户判断
count = 0
while count < 3 :
count +=1
# .strip() 防止用户 误输 空格
choice = input ("请输入你喜欢的号:").strip()
#判断用户输入的号在 生成的号 之中
if choice in c_num:
#关于判断结果选择
ans =int (input (f"请确认您的车牌号码,确认请输入1,重选请输入0(您还有{3-count}次重选机
会):"))
if ans == 1:
print(f"恭喜选号成功,您的车牌号码为:{choice}")
break
else:
if 3-count != 0:
print(f"请重新选择您的车牌号码")
else :
print("您本次的选号机会已经用完,欢迎下次参选!")
else :
if 3-count != 0:
print(f"您输入的车牌号码有误,您还有{3-count}次选择机会")
else:
print("您输入的号码有误,您的选号机会已经用完,欢迎下次参选!")
四、结果展示