编辑代码

# coding=UTF-8
import random

# 定义奖项及其对应的概率
awards = [
    ('50w', 0.05),        # 5%
    ('100w', 0.05),       # 5%
    ('200w', 0.05),       # 5%
    ('1000w', 0.05),      # 5%
    ('谢谢老板', 0.2),    # 20%
    ('任意小红', 0.1),    # 10%
    ('任意大红', 0.1),    # 10%
    ('可检视房卡', 0.1),  # 10%
    ('护航体验卡', 0.1),  # 10%
    ('单局10小金', 0.1),  # 10%
    ('再来一次', 0.1)     # 10%
]

# 确保概率总和为1
total_probability = sum(prob for _, prob in awards)
assert abs(total_probability - 1.0) < 1e-6, "概率总和必须为1"

def draw_lottery(times):
    i = 0
    while i < times:
        # 根据概率选择奖项
        selected_award = random.choices([award for award, _ in awards],
                                       weights=[prob for _, prob in awards],
                                       k=1)[0]
        print(f"第 {i+1} 次抽奖结果: {selected_award}")
        if selected_award == '再来一次':
            print("获得额外抽奖机会!")
            times += 1  # 增加一次抽奖机会
        i += 1

# 输入抽奖次数
try:
    times = int(input("请输入抽奖次数: "))
    if times <= 0:
        print("抽奖次数必须为正整数")
    else:
        draw_lottery(times)
except ValueError:
    print("请输入有效的整数")