Python 猜谜类游戏

Python 猜谜类游戏,python,class,module,Python,Class,Module,因此,出于某种我无法理解的原因,这段代码中的game\u mechanics方法似乎不起作用,我不知道为什么。new\u game()到Number\u game()似乎通过了,所以我不知道为什么其余的不起作用 from random import randint class Number_Game() : secret_num = randint(0,10) def __init__(self): self.user_numb_guesses = 0 self.us

因此,出于某种我无法理解的原因,这段代码中的
game\u mechanics
方法似乎不起作用,我不知道为什么。
new\u game()
Number\u game()
似乎通过了,所以我不知道为什么其余的不起作用

from random import randint

class Number_Game() :
  secret_num = randint(0,10)

  def __init__(self):
    self.user_numb_guesses = 0
    self.user_play = 0
    self.secret_num = randint(0,10)
    self.user_act_guess = 0

  def game_mechanics(self) :
    self.user_act_guess = int(input("Pick a number, any whole number, between 0 and 10. Choose wisely." ))
    if self.user_act_guess > 10:
      print ("You have chosen poorly, I said to choose a number between 1 and 10.")
      self.user_act_guess = int(input("Choose again"))
      self.user_numb_guesses = self.user_numb_guesses + 1

    if self.user_act_guess > self.secret_num :
      print ("You have chosen poorly, my number is smaller than that. You have guessed wrong %d times." % self.user_numb_guesses)
      self.user_act_guess = int(input("Try again, choose a number between 1 and 10"))
      self.user_numb_guesses = self.user_numb_guesses + 1

    if self.user_act_guess < self.secret_num :
      print ("You have chosen poorly, my number is larger than that. You have guessed wrong %d times." % self.user_numb_guesses)
      self.user_act_guess = int(input("Try again, choose a number between 1 and 10"))
      self.user_numb_guesses = self.user_numb_guesses + 1

    if self.user_act_guess == self.secret_num :
      self.user_play = int(input("Congratulations! You have chosen wisely, %d was the number I was thinking of.It only took you %d tries. Press 1 to keep playing." % (self.user_act_guess , self.user_numb_guesses)))
      if self.user_play == 1 :
            new_game()

def new_game():
  user_play = input("Enter 1 to play the guessing game")
  while user_play != "1" :
    new_game()
  if user_play == "1" :
    Number_Game()

new_game()
来自随机导入randint
类编号\u Game():
secret_num=randint(0,10)
定义初始化(自):
self.user\u numb\u猜测=0
self.user_play=0
self.secret_num=randint(0,10)
self.user\u act\u guess=0
def游戏机(自我):
self.user\u act\u guess=int(输入(“选择一个数字,任何整数,介于0和10之间。明智地选择”))
如果self.user\u act\u guess>10:
打印(“您选择得很差,我说要选择1到10之间的数字。”)
self.user\u act\u guess=int(输入(“再次选择”))
self.user\u numb\u猜测=self.user\u numb\u猜测+1
如果self.user\u act\u guess>self.secret\u num:
打印(“您选择得不好,我的数字比这个小。您猜错了%d次。”%self.user\u numb\u猜错了)
self.user\u act\u guess=int(输入(“重试,选择1到10之间的数字”))
self.user\u numb\u猜测=self.user\u numb\u猜测+1
如果self.user\u act\u guess
来自随机导入randint
类编号\u Game():
定义初始化(自):
self.user\u numb\u猜测=0
self.user_play=0
self.secret_num=randint(0,10)
self.user\u act\u guess=0
self.game_mechanics()#这是新的
def游戏机(自我):
而(对):#这是新的
self.user\u act\u guess=int(输入(“选择一个数字,任何整数,介于0和10之间。明智地选择”))
如果self.user\u act\u guess>10:
打印(“您选择得很差,我说要选择1到10之间的数字。”)
#self.user\u act\u guess=int(输入(“再次选择”))
self.user\u numb\u猜测=self.user\u numb\u猜测+1
如果self.user\u act\u guess>self.secret\u num:
打印(“您选择得不好,我的数字比这个小。您猜错了%d次。”%self.user\u numb\u猜错了)
#self.user\u act\u guess=int(输入(“重试,选择1到10之间的数字”))
self.user\u numb\u猜测=self.user\u numb\u猜测+1
如果self.user\u act\u guess

我修改了几行。

欢迎使用SO。请阅读本指南,并遵循其中的指导原则,以提供足够的信息来描述和再现您的问题。它如何不“运行”?它询问用户是否想玩,然后程序简单结束。这并不是课程的游戏部分。天哪,非常感谢你。我没有意识到我不需要self.user\u act\u guess=int(输入)序列。我想我需要问这个问题。我的头撞在墙上好长一段时间了。再次非常感谢你。
from random import randint

class Number_Game() :

  def __init__(self):
    self.user_numb_guesses = 0
    self.user_play = 0
    self.secret_num = randint(0,10)
    self.user_act_guess = 0
    self.game_mechanics() # This is new


  def game_mechanics(self) :
      while(True): # This is new
        self.user_act_guess = int(input("Pick a number, any whole   number, between 0 and 10. Choose wisely." ))
        if self.user_act_guess > 10:
          print ("You have chosen poorly, I said to choose a number between 1 and 10.")
          # self.user_act_guess = int(input("Choose again"))
          self.user_numb_guesses = self.user_numb_guesses + 1

        if self.user_act_guess > self.secret_num :
          print ("You have chosen poorly, my number is smaller than that. You have guessed wrong %d times." % self.user_numb_guesses)
          # self.user_act_guess = int(input("Try again, choose a number between 1 and 10"))
          self.user_numb_guesses = self.user_numb_guesses + 1

        if self.user_act_guess < self.secret_num :
          print ("You have chosen poorly, my number is larger than that. You have guessed wrong %d times." % self.user_numb_guesses)
          # self.user_act_guess = int(input("Try again, choose a number between 1 and 10"))
          self.user_numb_guesses = self.user_numb_guesses + 1

        if self.user_act_guess == self.secret_num :
          self.user_play = int(input("Congratulations! You have chosen wisely, %d was the number I was thinking of.It only took you %d tries. Press 1 to keep playing." % (self.user_act_guess , self.user_numb_guesses)))
          # if self.user_play == 1:
          #     new_game()
          break
      if self.user_play == 1:
          new_game()

def new_game():
  user_play = input("Enter 1 to play the guessing game")
  while user_play != "1" :
    new_game()
  if user_play == "1" :
    Number_Game()

new_game()