python写一个彩票中奖小游戏修订版本

先说规则:

        print("下面介绍双色球颜色规则:")
        print("一等奖,投注号码与当期开奖号码全部相同(顺序不限,下同),即中奖")
        print("二等奖:投注号码与当期开奖号码中的6个红色球号码相同,即中奖")
        print("三等奖,投注号码与当期开奖号码中的任意5个红色球号码和1个蓝色球号码相同,即中奖")
        print("四等奖,投注号码与当期开奖号码中的任意5个红色球号码相同,或与任意4个红色球号码和1个蓝色球号码相同,即中奖")
        print("五等奖,投注号码与当期开奖号码中的任意4个红色球号码相同,或与任意3个红色球号码和1个蓝色球号码相同,即中奖")
        print("六等奖:投注号码与当期开奖号码中的1个蓝色球号码相同,即中奖")
        print("前面六位为红色球号码,最后一位为蓝色球号码")

直接上全部代码:

import random  
import time
from datetime import datetime
  
class Lottery:  
    def __init__(self):  
        pass  
      
    
      
    def get_user_guesses(self):  
        guessed_numbers = []  
        for i in range(1,7):    
            while True:  # 无限循环,直到满足退出条件    
                a = int(input(f"请输入第{i}个值,范围是1-33 "))    
                if 1 <= a <= 33:  # 如果输入值在范围内,退出循环    
                    guessed_numbers.append(a)    
                    break    
                else:  # 如果输入值不在范围内,提示用户并继续循环    
                    print("输入值过小或过大")    
        while True:  # 无限循环,直到满足退出条件    
            b = int(input("请输入第7个值,范围是1-16 "))    
            if 1 <= b <= 16:  # 如果输入值在范围内,退出循环    
                guessed_numbers.append(b)    
                break    
            else:  # 如果输入值不在范围内,提示用户并继续循环    
                print("输入值过小或过大")  
        print(f"您的号码是{guessed_numbers}")    
        return guessed_numbers  
      
    def produce_winning_numbers(self):  
        now = datetime.now()
        nowtime = now.strftime("%Y-%m-%d %H:%M:%S")
        self.winning_numbers = []  
        for i in range(6):    
            self.winning_numbers.append(random.randint(1, 33))    
        self.winning_numbers.append(random.randint(1, 16))
        print(f"{nowtime}的中奖号码是{self.winning_numbers}")
        return self.winning_numbers  
    
    def judge(self, user_guesses, winning_numbers):  
        count=0
        for i in range(0,5):
            for j in range(0,5):
                if user_guesses[i]==winning_numbers[j]:
                     count=count+1
        count1=0
        if user_guesses[-1]==winning_numbers[-1]:
            count1=count1+1
        if count==6 and count1 ==1:
            print("恭喜中了一等奖")
        elif count==6:
            print("恭喜中了二等奖")
        elif count==5 and count1==1:
            print("恭喜中了三等奖")
        elif count==4 and count1 ==1:
            print("恭喜中了四等奖")
        elif count==3 and count1==1:
            print("恭喜中了五等奖")
        elif count1==1:
            print("恭喜中了六等奖")
        else :
            print("抱歉,没有中奖")
      
    def play(self):  
​
        print("下面介绍双色球颜色规则:")
        print("一等奖,投注号码与当期开奖号码全部相同(顺序不限,下同),即中奖")
        print("二等奖:投注号码与当期开奖号码中的6个红色球号码相同,即中奖")
        print("三等奖,投注号码与当期开奖号码中的任意5个红色球号码和1个蓝色球号码相同,即中奖")
        print("四等奖,投注号码与当期开奖号码中的任意5个红色球号码相同,或与任意4个红色球号码和1个蓝色球号码相同,即中奖")
        print("五等奖,投注号码与当期开奖号码中的任意4个红色球号码相同,或与任意3个红色球号码和1个蓝色球号码相同,即中奖")
        print("六等奖:投注号码与当期开奖号码中的1个蓝色球号码相同,即中奖")
        print("前面六位为红色球号码,最后一位为蓝色球号码")
        user_guesses = self.get_user_guesses()  
        self.produce_winning_numbers()  
        self.judge(user_guesses, self.winning_numbers)  
          
test = Lottery()  
test.play()
while True:
    time.sleep(5)

然后我们来看效果图:
python写一个彩票中奖小游戏修订版本_第1张图片
点击:
python写一个彩票中奖小游戏修订版本_第2张图片
最后添加了一个休眠函数给大家可以展示效果,手动删除右上角结束程序即可,希望大家喜欢

你可能感兴趣的:(python,开发语言)