摇号小程序改进(涉及string库)

一、题目

见图片

 

原方法见下方链接

 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("您输入的号码有误,您的选号机会已经用完,欢迎下次参选!")

四、结果展示

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值