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
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/268406.html