import random
def create():
randomArr = []
while len(randomArr) < 6:
randNumber = random.randint(1,33)
if not randNumber in randomArr:
randomArr.append(randNumber)
randomArr.append(random.randint(1,16))
return randomArr
def getUserInput():
userInput = []
while len(userInput) < 6:
red_input = input("请输入第%d个红色球号码: " % (len(userInput)+1))
if red_input.isdigit():
red_input = int(red_input)
if red_input >=1 and red_input <= 33:
if not red_input in userInput:
userInput.append(red_input)
else:
print("这个号码已经被选过了")
else:
print("请输入1-33之间的红球号码")
else:
print("请输入正确的号码")
while len(userInput) < 7:
blue_input = input("请输入蓝色球号码: ")
if blue_input.isdigit():
blue_input = int(blue_input)
if blue_input >=1 and blue_input <= 16:
userInput.append(blue_input)
else:
print("请输入1-16之间的蓝球号码")
else:
print("请输入正确的号码")
return userInput
def getRedCount(arr,userInput):
redCount = 0
for i in range(len(arr)):
if arr[i] == userInput[i]:
redCount += 1
return redCount
def getBlueCount(arr,userInput):
blueCount = 0
if arr[len(arr)-1] == userInput[len(userInput)-1]:
blueCount = 1
return blueCount
def getResult(redCount, blueCount):
if(redCount == 6 and blueCount == 1):
return "一等奖,中奖1000万"
elif(redCount == 6 and blueCount == 0):
return "二等奖,中奖500万"
elif(redCount == 5 and blueCount == 1):
return "三等奖,中奖3000"
elif((redCount == 5 and blueCount == 0) or (redCount == 4 and blueCount == 1)):
return "四等奖,中奖200元"
elif((redCount == 4 and blueCount == 0) or (redCount == 3 and blueCount == 1) or (redCount == 2 and blueCount == 1)):
return "五等奖,中奖10元"
elif((redCount == 1 and blueCount == 0) or blueCount == 1):
return "六等奖,中奖5元"
return "未中奖"
#创建中奖号码
arrNumber = create()
#得到用户输入
userInput = getUserInput()
#计算红球中奖个数
redCount = getRedCount(arrNumber,userInput)
print("红球中奖个数: ",redCount)
#计算蓝球中奖个数
blueCount = getBlueCount(arrNumber,userInput)
print("蓝球中奖个数: ",blueCount)
#最终结果
result = getResult(redCount, blueCount)
print("中奖号码为",arrNumber)
print("你输入的号码为",userInput)
print(result)