添加难度和交替“ValueError”#39;猜猜密码

时间:2016-04-01 01:34:14

标签: python-3.5

我试图为玩家在玩之前可能选择的数字游戏添加难度,也许之后。我也在寻找一个替代你没有用整数回答的错误的替代方法,但是使用类似的短语,"这个游戏很糟糕"或者" uhgh"。我没有多少运气,但是想要帮助我们做些什么。

enter image description here

1 个答案:

答案 0 :(得分:0)

我在你的代码中看到两个问题:

  1. input()实际上会执行eval(raw_input())。因此,请使用raw_input()进行用户输入。
  2. String interpolation会让您的输出看起来更好。替换:

    print(name, "I am thinking of a number")
    

    print("%s, I am thinking of a number" % name)
    
  3. 您的想法的解决方案可能是:

    1. 要实现错误回复,您可以创建一个函数prompt_for_number()

      def prompt_for_number():
          while True:
              guess = raw_input("So...Take a guess?: ")
              try:
                  guess = int(guess)
              except:
                  print("Uurgh! '%s' is no integer" % guess)
              else:
                  break
          return guess
      
    2. 通过限制尝试次数可以实现难度:

      def get_tries_total():
          while True:
              difficulty = raw_input("Choose difficult level (1-5) :")
              try:
                  difficulty = int(difficulty)
                  assert 0 < difficulty < 6
              except:
                  print("This game sucks! Invalid difficulty")
              else:
                  break
          return difficulty * 5