Linux + Python 的第七天


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

(0)
上一篇 2022年6月20日 05:26
下一篇 2022年6月20日 05:26

相关推荐

发表回复

登录后才能评论