1、需求描述
1、允许用户选3次
2、每次20个车牌供人选择
3、京[A-Z]-[xxxxx],数字加字母的方式组合。
2、知识拓展
# random模块
In [1]: import random
In [2]: random.choice("abcdefghijklmnopqrstuvwxyz")
Out[2]: 'f'
In [3]: random.choice("abcdefghijklmnopqrstuvwxyz")
Out[3]: 'f'
In [4]: random.choice("abcdefghijklmnopqrstuvwxyz")
Out[4]: 'e'
In [5]: n = "abcdefghijklmnopqrstuvwxyz"
In [6]: random.sample(n,2)
Out[6]: ['k', 'e']
In [7]: random.randint(1,10)
Out[7]: 6
# string模块
In [8]: import string
In [9]: string.ascii_letters
Out[9]: 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
In [10]: string.ascii_lowercase
Out[10]: 'abcdefghijklmnopqrstuvwxyz'
In [11]: string.ascii_uppercase
Out[11]: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
In [12]: string.punctuation
Out[12]: '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
In [13]: string.digits
Out[13]: '0123456789'
# "".join(["a","b","c"])
In [14]: "".join(["a","b","c"])
Out[14]: 'abc'
3、着手功能实现
# 导入模块。
import random
import string
# 设置循环次数,可以使用for,不过感觉while帅一点。
count = 0
while count < 3:
# 为了后面用户进行数据确认,将每次生成的20个随机车牌,塞进列表了,后面用if 加 in进行判断。
number = []
for i in range(20):
# 使用random生成字符串和字母,n1是大写字母,n2是大写字母+数字,用”“.join进行转换,sample生成规定长度字符。
n1 = random.choice(string.ascii_uppercase)
n2 = "".join(random.sample(string.ascii_uppercase+string.digits, 5))
# 将生成的元素append到列表、
number_car = f"{n1}-{n2}"
number.append(number_car)
# print进行相应打印,可以输出为列或者行。
print(i+1,number_car,end=" ")
#print()
# 用户对已经选择的进行判断,加入.strip去除字符前后空格。
choice = input("insert you choice : ").strip()
if choice in number:
print(f"You choice is {n1}-{n2}" )
exit("sa yo na la ")
else:
print(f"{n1}-{n2} is unlegal")
count += 1
开始运行...
1 N-ODS7J
2 K-TVE07
3 T-DSWGI
4 N-QK689
5 U-R8GEA
6 N-M46Q0
7 O-V7B8U
8 X-BG9JO
9 N-TGPQH
10 T-3X56B
11 J-X23WD
12 I-1ZRJL
13 I-NMW4H
14 W-A1N2O
15 E-MWDL1
16 E-KMP9W
17 Q-QAVX1
18 L-KC4EB
19 I-MGP8T
20 A-CQ58V
1 O-E17PV
2 T-C5N7M
3 G-C80PF
4 O-VMW3X
5 W-R1364
6 H-51VMN
7 A-1MB3L
8 I-TW60O
9 P-9IPXB
10 G-Q6IHY
11 E-OUQIB
12 L-C9DIA
13 K-EOR7L
14 Q-ABYE9
15 O-4YLHI
16 L-QFG48
17 Q-0VBO3
18 M-SIYVE
19 J-O6YQS
20 D-0CL8H
1 N-DQ60N
2 U-6XROZ
3 I-WIXSU
4 J-KB2PF
5 Q-BPGE2
6 V-X7YQ8
7 H-PBCO9
8 Z-81JSI
9 M-HQ1UN
10 O-P0M18
11 P-1GLH2
12 O-GPB6A
13 Q-HN7SP
14 D-3THYI
15 C-H8QFM
16 L-W9Y7N
17 I-IRB9E
18 E-DY0WN
19 D-OBJ8E
20 E-KN4CA
insert you choice :E-KN4CA
You choice is E-KN4CA
sa yo na la
运行结束。