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

Python新手开发轮盘赌游戏遇函数选择问题求助

Hey there! Let's troubleshoot why your roulette game is only firing the red/black function no matter what input you give—this is a super common gotcha for new Python devs, so we'll fix it in no time.

First, let's break down the most likely issues based on your description:

1. You're unconditionally calling the red/black function

Chances are, your code is running the red/black function no matter what the user inputs, instead of using conditionals to pick the right function. For example, this broken code would cause exactly what you're seeing:

def red_black():
    user_input = input("Red or black? ")
    if user_input == "red":
        print(10)
    else:
        print(20)

def odd_even():
    print("Testing odd/even function")

# ❌ Broken logic: calls red_black no matter what input is given
user_choice = input("Choose bet type: ")
red_black()
odd_even()

2. Your conditional logic is miswritten

Maybe you have an if/elif/else chain that accidentally routes every input to the red/black function. Like this:

user_choice = input("Choose bet type: ")
if user_choice == "red":
    red_black()
elif user_choice == "black":
    red_black()
else:
    red_black()  # ❌ All other inputs still trigger red_black!

The Fix: Proper Input Handling & Conditional Routing

Here's a corrected version of your code that will trigger the right function based on user input:

def red_black_bet():
    # Normalize input to avoid case/space issues
    bet = input("Pick red or black: ").strip().lower()
    if bet == "red":
        print(10)
    else:
        print(20)

def odd_even_bet():
    print("Testing odd/even function—this works now!")
    # Add your actual odd/even logic here later

# Main game flow
print("Welcome to Simple Roulette!")
bet_type = input("What bet do you want to place? (red/black or odd/even): ").strip().lower()

if bet_type in ["red", "black"]:
    red_black_bet()
elif bet_type in ["odd", "even"]:
    odd_even_bet()
else:
    print("Oops, that's not a valid bet type. Try again!")

Key fixes here:

  • Normalize input: Using .strip().lower() ensures inputs like " Red " or "RED" are treated the same as "red", avoiding accidental mismatches.
  • Targeted conditionals: The in operator checks if the input falls into a valid group, and only calls the corresponding function for each group.
  • Clear error handling: The else branch catches invalid inputs instead of defaulting to the red/black function.

If you had a different structure in your original code, feel free to share snippets, but these changes should resolve the "only red/black function runs" issue you're seeing.

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 06:43:20