【问题标题】:Python Beginner - Number Guessing Game print issuePython Beginner - Number Guessing Game 打印问题
【发布时间】:2020-04-23 16:18:22
【问题描述】:

我只是遇到了 print("Out of Guesses!\nYou Lose, Try Again!") 的问题。每当玩家猜不透时,它会打印出所有 print print 语句两次,输出如下:

Too Low!  
Out of Guesses!  
You Lose, Try Again!  
Too Low!

什么时候应该打印:

Out of Guesses!
You Lose, Try Again!

代码:

import random

number = random.randint(0,20)
player = ""
guess_count = 0
guess_limit = 5
out_guesses = False

while player != number and not out_guesses:
    if guess_count < guess_limit:
        player = int(input("Input Your Guess: "))
        guess_count += 1

    else:
        out_guesses = True
        print("Out of Guesses!\nYou Lose, Try Again!")

    if player == number:
        print("You Win!")
    if player < number:
        print("Too Low!")
    if player > number:
        print("Too High!")

【问题讨论】:

  • 因为你没有停止程序...它一直在检查猜测。你应该在Out of guesses 打印之后break
  • 你需要在最后使用elif和else而不是两个if(s)。
  • 或者,将 guess_count 检查移动到 实际猜测检查之后

标签: python python-3.x printing


【解决方案1】:

在out_guesses 场景中:

  if player == number:
        print("You Win!")
    if player < number:
        print("Too Low!")
    if player > number:
        print("Too High!")

这个代码块被执行了两次而不是一次。你必须用逻辑阻止它。这是一个示例:

import random

number = random.randint(0, 20)
player = ""
guess_count = 0
guess_limit = 5

while player != number:
    if guess_count < guess_limit:
        player = int(input("Input Your Guess: "))
        guess_count += 1
        if player == number:
            print("You Win!")
        if player < number:
            print("Too Low!")
        if player > number:
            print("Too High!")
    else:
        print("Out of Guesses!\nYou Lose, Try Again!")
        break

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-21
    • 2018-05-24
    • 2011-06-20
    • 1970-01-01
    • 2013-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多