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

输入切换时抛硬币游戏脚本停止输出问题求助

Fixing Your Coin Flip Game's Input Loop Issue

Hey there! Let's troubleshoot why your coin flip game stops asking for "Heads or Tails" when the user switches their choice. This sounds like a super common loop logic misstep—let's break it down.

The Most Likely Culprit: Your Loop Only Runs When the User Guesses Correctly

I’d wager your original code looks something like this (we’ve all been there!):

import random

# Generate one coin result upfront, loop only continues if user guesses right
correct_result = random.choice(['heads', 'tails'])
user_guess = input("Heads or Tails: ").lower()

while user_guess == correct_result:
    print("correct")
    user_guess = input("Heads or Tails: ").lower()

print("wrong")
# Game exits immediately after the first wrong guess!

This works fine if the user sticks to the correct answer (the loop keeps running), but as soon as they switch to the wrong choice, the loop terminates entirely—and the game stops asking for input. Exactly what you described!

Fixed Code: Keep the Game Running Indefinitely

You want the game to keep prompting the user regardless of whether they guess right or wrong. Here’s a polished, working version:

import random

def coin_flip_game():
    print("Coin Flip Game! Type 'quit' to exit.\n")
    while True:
        # Generate a new coin flip every round (move outside loop if you want users to guess the same flip repeatedly)
        coin_flip = random.choice(['heads', 'tails'])
        user_input = input("Heads or Tails: ").strip().lower()
        
        # Add an exit option for better UX
        if user_input == 'quit':
            print("Thanks for playing!")
            break
            
        # Validate input and give feedback
        if user_input in ['heads', 'tails']:
            if user_input == coin_flip:
                print("correct!\n")
            else:
                print("wrong!\n")
        else:
            print("Oops! Please enter either 'Heads' or 'Tails'.\n")

# Start the game
coin_flip_game()

Key Fixes Explained:

  • Infinite while True loop: This keeps the game running until the user explicitly chooses to quit, instead of dying after the first incorrect guess.
  • Per-round coin flips: Ensures each guess is against a new random result (move the coin_flip line outside the loop if you want users to guess the same flip until they get it right).
  • Input validation: Prevents the game from breaking if the user types something unrelated (like "pizza").

Other Things to Check If the Fix Doesn’t Work:

  • Terminal/IDE input buffering: If you’re running the game in a finicky IDE terminal, try launching it in a standard system terminal (Windows Command Prompt, macOS Terminal, etc.).
  • Accidental break/return statements: Double-check your original code for any stray break or return lines that might be triggering when the user switches their choice.

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 07:43:14