import randomimport timered_list = list(range(1,34))blue_list = list(range(1,17))rank_money = {1:7500000,2:5000000,3:3000,4:200,5:10,6:5,7:0}def get_num(): point_num = sorted(random.sample(red_list, 6)) + random.sample(blue_list, 1) return point_numdef how_many_red(num_buy,num_win): num_buy_red = num_buy[0:6] num_win_red = num_win[0:6] n = 0 for num in num_buy_red: if num in num_win_red: n += 1 return ndef how_many_blue(num_buy,num_win): num_buy_blue = num_buy[6] num_win_blue = num_win[6] if num_buy_blue == num_win_blue: return 1 else: return 0try: buy_times = int(input('请输入需要购买多少注:'))except ValueError: print('请输入一个正整数')if buy_times <= 0: print('输入的数字无效,请重新输入')elif buy_times >0: buy_cost = 2*buy_timeswin_num = get_num()all_win_money = 0bigwin = []for i in range(buy_times): buy_num = get_num() red_num = how_many_red(buy_num,win_num) blue_num = how_many_blue(buy_num,win_num) if red_num == 6 and blue_num == 1: my_rank = 1 elif red_num == 6 and blue_num == 0: my_rank = 2 elif red_num == 5 and blue_num == 1: my_rank = 3 elif (red_num == 5 and blue_num == 0) or (red_num == 4 and blue_num == 1): my_rank = 4 elif (red_num == 4 and blue_num == 0) or (red_num == 3 and blue_num == 1): my_rank = 5 elif (red_num == 2 and blue_num == 1) or (red_num == 1 and blue_num == 1) or (red_num == 0 and blue_num == 1): my_rank = 6 else: my_rank = 7 all_win_money += rank_money[my_rank] print(f'购买号码:{buy_num}|中奖号码:{win_num}| {my_rank}等奖|本次奖金{rank_money[my_rank]}|累计奖金{all_win_money}') if my_rank < 4: print('恭喜你中了大奖') print(f'\n其中中奖号码{buy_num},中了{my_rank}等奖,中了{rank_money[my_rank]}元') time.sleep(0.2)print(f'\n您花费了{buy_cost},购买了{buy_times}注,累计中奖{all_win_money},赚了{all_win_money-buy_cost}')