在列表中存储经过一些计算后得到的变量



我正在尝试创建一个反向数字游戏,让计算机猜测我的数字。该程序的运行方式如下:

  • 我收到了一个号码
  • 如果我输入'>','<'作为对给定数字的响应,计算机应该将该数字添加到1或100,然后除以2,具体取决于它是低还是高
  • 之后,计算机会询问得到的号码是否是我的号码
  • 依此类推,直到我输入'='

我的问题是,在计算完将随机数添加到1或100并除以2,然后问这是否是我的数字之后,我试图存储这个新数字,这样它就不会重复,而是不断重复。这是代码:

import random
guesses_taken  = 0
my_name = raw_input("Hello! What is your name? ")
print ("Well {} think of a number between 1 and 100!").format(my_name)
low_list_store = list()
high_list_store = list()
rand_number = random.randint(1,100)
print("Is your number greater (>), equal (=), or less (<) than "
      + str(rand_number) + "?")
while guesses_taken < 8:
    user_response = raw_input("Please answer <, =, >: ")
    guesses_taken = guesses_taken + 1
    if user_response == '<':
       low_list = (rand_number + 1) // 2
       print("Is your number greater (>), equal (=), or less (<) than  {}?").format(low_list)
       low_list_store.insert(0,low_list)
    elif user_response == '>':
       high_list = (rand_number + 100) // 2
       print("Is your number greater (>), equal (=), or less (<) than {}?").format(high_list)
       high_list_store.insert(0,high_list)
   if user_response == '=':
       print("I have guessed it!!")
       guesses_taken = str(guesses_taken)
       print("I needed {} step!!").format(guesses_taken)
       break
   if guesses_taken == 8:
       print("Sorry i'm not good at this game..")
   if user_response <> '>' and user_response <> '<' and user_response <> '=':
       print("Please input a valid response!!")
       continue

rand_number在代码中的任何位置都不会更改。在while循环中,脚本对相同的随机数进行8次迭代。

因此,无论用户猜测如何,您都将始终拥有:

rand_number = random.randint(1, 100)所有8次迭代的内部循环low_list = (9 + 1) // 2

最新更新