You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 36号码轮盘赌模拟器开发求助:需支持多号码投注

36号码轮盘赌模拟器:多号码投注功能实现

修改后的完整代码

import random

balance = 100.0  # 改为浮点数,适配0.5美元的投注

def start():
    global balance
    print(f"当前账户余额: ${balance:.2f}")
    print("请输入要投注的号码(用逗号分隔,至少10个,范围0-36):")
    bet_numbers_input = input("> ").strip()
    
    # 处理输入,分割成号码列表
    try:
        bet_numbers = [int(num.strip()) for num in bet_numbers_input.split(",")]
    except ValueError:
        print("输入无效,请输入数字并用逗号分隔!")
        start()
        return
    
    # 验证号码数量和范围
    if len(bet_numbers) < 10:
        print("至少需要投注10个号码!")
        start()
        return
    
    for num in bet_numbers:
        if not 0 <= num <= 36:
            print(f"号码{num}无效,必须在0-36之间!")
            start()
            return
    
    # 计算总投注金额
    per_bet = 0.5
    total_bet = len(bet_numbers) * per_bet
    
    if total_bet > balance:
        print(f"余额不足!总投注金额为${total_bet:.2f},当前余额仅${balance:.2f}")
        start()
        return
    
    simulate(bet_numbers, total_bet, per_bet)

def simulate(bet_numbers, total_bet, per_bet):
    global balance
    # 生成开奖结果
    result = random.randint(0, 36)
    print(f"开奖结果: {result}")
    
    # 检查命中情况
    hit_count = bet_numbers.count(result)
    
    if hit_count > 0:
        # 计算赔付:每个命中号码赔付36倍(含本金)
        payout = hit_count * per_bet * 36
        balance = balance - total_bet + payout
        print(f"恭喜!你命中了{hit_count}个号码,获得${payout:.2f}赔付!")
    else:
        balance -= total_bet
        print("很遗憾,没有命中任何号码!")
    
    print(f"当前账户余额: ${balance:.2f}")
    
    # 询问是否继续
    print("是否继续投注?(y/n)")
    choice = input("> ").strip().lower()
    if choice == 'y':
        start()
    else:
        print("游戏结束!")

start()

关键修改说明

  • 适配小数投注:把balance改成浮点数,显示金额时保留两位小数,符合货币展示习惯。
  • 多号码输入支持:允许用户用逗号分隔输入多个号码,自动转换为整数列表,同时做了三层验证:输入是否为有效数字、数量是否达到至少10个、每个号码是否在0-36范围内,避免无效输入。
  • 投注金额计算:每个号码固定投0.5美元,总投注额是号码数×0.5,投注前先检查余额是否足够,不足时提示用户。
  • 修复余额计算bug:原代码赢的时候直接把余额设为投注额×36,会覆盖原有余额,现在改为先扣除总投注,命中时再加上对应赔付(36倍包含本金),余额计算更准确。
  • 命中统计与赔付:统计命中的号码数量(支持重复投注同一号码),按命中数计算赔付金额。
  • 优化游戏流程:每次投注结束后询问用户是否继续,替代原有的无限递归调用,体验更友好。

内容的提问来源于stack exchange,提问作者sircartier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 15:45:26