【问题标题】:I am trying to do the basic number guessing game on python我正在尝试在 python 上做基本的猜数字游戏
【发布时间】:2017-03-25 21:05:16
【问题描述】:

我在用 Python 编写基本数字猜谜游戏的代码时遇到了麻烦。游戏的目标是正确猜测程序随机选择的从 1 到 10 的数字。我还添加了一些帮助文本,告诉用户他们猜的太高或太低。我不断收到语法错误。这是我目前写的代码:

 print "Welcome to the number guessing game"
 print "I have my number..."
 import random
 while True:

    random.randint(1, 10)
    number = raw_input("What is your guess[1-10]: ")
    if number > random.radint(1, 10):
         print "sorry you guessed to high"
    elif number < random.radint(1, 10):
         print "You guessed to low"
    elif number == random.radint(1, 10):
         print "You guessed right thanks for playing"
         break
    else: raw_input("What is your guess[1-10]: ")

【问题讨论】:

  • 说你得到一个错误,然后不说错误是什么是非常无益的。
  • 再一次,确切的错误是什么?

标签: python python-2.7


【解决方案1】:

它是randint 而不是radint。您正在为每个测试创建一个新的随机数;您应该将变量分配给 while 循环之外的随机数。

r = random.randint(1, 10)

您必须缩进 if: else: 块 - Python 对布局敏感,例如

if number > r:
    print "sorry you guessed to high"

您正在与str 进行比较,需要将输入转换为int()

number = int(raw_input("What is your guess[1-10]: "))

最后你有一个不必要的else: 条件。
所以把它们放在一起:

import random
print "Welcome to the number guessing game"
print "I have my number..."
r = random.randint(1, 10)
while True:
    number = int(raw_input("What is your guess[1-10]: "))
    if number > r:
        print "sorry you guessed to high"
    elif number < r:
        print "You guessed to low"
    else:
        print "You guessed right thanks for playing"
        break

您可以更改 while 循环以覆盖该条件:

import random
print "Welcome to the number guessing game"
print "I have my number..."
number = 0
r = random.randint(1, 10)
while number != r:
    number = int(raw_input("What is your guess[1-10]: "))
    if number > r:
        print "sorry you guessed to high"
    elif number < r:
        print "You guessed to low"
print "You guessed right thanks for playing"

【讨论】:

  • 非常感谢 AChampion,我很欣赏你的才智,我想习惯在这里写代码,这有点令人困惑。
猜你喜欢
  • 2018-06-25
  • 1970-01-01
  • 2016-06-21
  • 2013-10-09
  • 2016-02-01
  • 2021-05-18
  • 2012-10-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多