为什么print(“ COMPUTER:” guesss)的输出没有出现在控制台上?

时间:2018-11-04 10:54:44

标签: python

我正在用python编写程序,您必须在其中猜测计算机选择的数字。该数字将在0到10(包括两个数字)之间选择。如果用户猜测的数字正确或错误,则将根据输入的有效性(用户猜测的数字)显示一条消息,然后显示由计算机选择作为输出的数字。 输出应该是这样的。

ENTER: 4
Wrong
10 (Computer's choice)

OR

ENTER: 10
RIGHT!
10 (Computer's Choice)

我的代码:

from random import randint
def guessing_game(x):
    guess = randint(0,10)
    if x.isdigit():
      if x==guess:
          return "RIGHT!"
          print(" COMPUTER =" guess)
      else:
          return "Wrong"
          print("COMPUTER="guess)
    elif x.isdigit() == False:
          return " Enter a Number"

print(guessing_game(input("ENTER:")))

问题是计算机的choice(Computer:10)没有出现在控制台窗口中。 我正在制作该程序的IDE告诉我“代码无法访问” 。   实际输出:

  ENTER:4
  Wrong

因此,请帮助我解决此问题。每个建议将不胜感激。

谢谢

2 个答案:

答案 0 :(得分:2)

您的印刷品放置在return指令之后。这意味着在执行过程中,如果用户找到了猜中的数字,则您的函数将返回“ RIGHT!”。并停止执行该功能中的其他代码。

这就是为什么pycharm指示代码不可访问

答案 1 :(得分:0)

您的

guess = randint(0,10)

是int类型。

您的

print(guessing_game(input("ENTER:")))

是字符串类型。

该测试

if x==guess:

永远不能是True

除此之外:return跳出来,没事就没事了。


使用:

def guessing_game(x):
    guess = str(randint(0,10))  # make it a string
    if x==guess:                # compare two strings
        print(" COMPUTER =" guess)   # print first, then return. return jumps out!
        return "RIGHT!"
    else:
        print("COMPUTER="guess) 
        return "Wrong"               

如果用户输入的数字不是数字,那是他们的问题。