农场主程序员 2021-05-14 21:51 采纳率: 50%
浏览 57
已采纳

Python的一个小小问题?

这是一个模拟乐彩的小游戏,主体已完成,但是我想给他加一个按‘x’键才会离开,任意键继续的循环,然后就不知道怎么办了,如代码中‘#注释‘’我已尝试了应该是调用错了,还可以怎么做?

# -*- coding: utf-8 -*-
"""
乐彩小游戏
"""
import random

def generate_num():
    auto_num = []
    while len(auto_num)<6:
        x = random.randint(1, 40)
        if x not in auto_num:
            auto_num.append(x)
    return auto_num

def lottoCheck(a):
    b=generate_num()
    b_sort=sorted(b)
    print("开出顺序:{}".format(b))
    print("大小顺序:{}".format(b_sort))
    print("您选的号码:{}".format(sorted(a)))
    ans = set(a) & set(b_sort)
    if len(ans):
        print("匹配:{}".format(ans))
    else:
        print("不匹配!!!")
        
        
if __name__ == "__main__":
    while True:
        try:
            user_nuber = input("请从1~39个号码任选5个不同的号码,每个号码请以逗号(,)隔开:")
            
            if user_nuber.count(",")<4:
                print("号码不足,",end="")
                raise ValueError
            else:
                n1=[]
                for n in user_nuber.split(","):
                    n = int(n)
                    if n in n1:
                        print("重复输入,",end="")
                        raise ValueError
                    elif n not in range(1,40):
                       print("超出范围!数字必须是1~39,",end="")
                       raise ValueError
                    else:
                       n1.append(n)
                lottoCheck(n1)
                break
        except ValueError:
            print("请再输入一次!")
    #a=input("按x键离开,任选5个不同的号码继续:")
    #if a !="x":
               #n1.append(n)
               #lottoCheck(n1)
    #else:
        #print("再见!")
  • 写回答

2条回答 默认 最新

  • CSDN专家-黄老师 2021-05-14 21:57
    关注
    """
    乐彩小游戏
    """
    import random
    
    
    def generate_num():
        auto_num = []
        while len(auto_num) < 6:
            x = random.randint(1, 40)
            if x not in auto_num:
                auto_num.append(x)
        return auto_num
    
    
    def lottoCheck(a):
        b = generate_num()
        b_sort = sorted(b)
        print("开出顺序:{}".format(b))
        print("大小顺序:{}".format(b_sort))
        print("您选的号码:{}".format(sorted(a)))
        ans = set(a) & set(b_sort)
        if len(ans):
            print("匹配:{}".format(ans))
        else:
            print("不匹配!!!")
    
    
    if __name__ == "__main__":
        while True:
            try:
                user_nuber = input("按x键离开,或从1~39个号码任选5个不同的号码,每个号码请以逗号(,)隔开:")
                if user_nuber == 'x':
                    break
                if user_nuber.count(",") < 4:
                    print("号码不足,", end="")
                    raise ValueError
                else:
                    n1 = []
                    for n in user_nuber.split(","):
                        n = int(n)
                        if n in n1:
                            print("重复输入,", end="")
                            raise ValueError
                        elif n not in range(1, 40):
                            print("超出范围!数字必须是1~39,", end="")
                            raise ValueError
                        else:
                            n1.append(n)
                    lottoCheck(n1)
                    break
            except ValueError:
                print("请再输入一次!")
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作