python测试你的彩票能赚钱吗
import random
def lottery(name):
assert name == 'red' or name == 'blue'
if name == 'red':
sum = 33
else:
sum = 16
result = []
for i in range(sum):
result.append(i + 1)
random.shuffle(result)
return result
def complete_lottery_ticket():
result = []
result.append(lottery('red')[0:6])
result.append(lottery('blue')[0:1])
return result
def same_amount(lst1, lst2):
a = set(lst1)
b = set(lst2)
c = (a & b)
return len(c)
def judge_the_reward_level(ticket1, ticket2):
rednum = same_amount(ticket1[0], ticket2[0])
bluenum = same_amount(ticket1[1], ticket2[1])
if rednum == 6 and bluenum == 1:
return 1
elif rednum == 6 and bluenum == 0:
return 2
elif rednum == 5 and bluenum == 1:
return 3
elif rednum == 5 and bluenum == 0 or rednum == 4 and bluenum == 1:
return 4
elif rednum == 4 and bluenum == 0 or rednum == 3 and bluenum == 1:
return 5
elif rednum == 2 and bluenum == 1 or rednum == 1 and bluenum == 1 or rednum == 0 and bluenum == 1:
return 6
else:
return 7
def reward_num(reward_level):
if reward_level == 7:
return 0
elif reward_level == 1:
return 5000000*0.8
elif reward_level == 2:
return 1000000*0.8
elif reward_level == 3:
return 3000
elif reward_level == 4:
return 200
elif reward_level == 5:
return 10
elif reward_level==6:
return 5
if __name__ == '__main__':
answer = complete_lottery_ticket()
print('本期正确号码为:', answer)
cost_money = 0
earn_money = 0
sum = 0
while True:
sum += 1
ticket = complete_lottery_ticket()
reward_level = judge_the_reward_level(answer,ticket)
cost_money +=2
money =reward_num(reward_level)
earn_money += money
if reward_level<4:
print('第',sum,"次,中了",reward_level, '等奖,数额:', money,'元')
if reward_level==1:
print("开奖号码")
print(ticket)
break
print('一共花费:',cost_money)
print('赚了',earn_money,'元')
a = cost_money - earn_money
if a >0:
print('亏损了',a,"元")
else:
print("赚了",a*(-1),"元")