我的While循环在python中不起作用

我的While循环在python中不起作用,python,Python,我的while循环不会重复,即使未满足sentry值以中断循环。请帮忙。在我看来,while循环在变量computernumber等于number之前不应该中断 import random print("Hello and welcome to the AI guessing Game pick a number from 1 to 100 then press H or L to give the clue") number=input("pick a number from 1 to 100

我的while循环不会重复,即使未满足sentry值以中断循环。请帮忙。在我看来,while循环在变量computernumber等于number之前不应该中断

import random
print("Hello and welcome to the AI guessing Game pick a number from 1 to 100 then press H or L to give the clue")
number=input("pick a number from 1 to 100")
number=int(number)
tries = 0
computernumber=1
while computernumber !=(number):
    computernumber=random.randint(1,100)
    print (computernumber)
    higherorlower=input("is your number higher or lower use H or L please!")
    if higherorlower == "H":
        computernumber +=1
        tries = int(tries)
        tries +=1
        computernumber=random.randint (computernumber,number)
    else:
            computernumber -=1
            computernumber=random.randint (1,computernumber)
            tries = 0
            tries = int(tries)
            tries +=1
            print (computernumber)

            break

if computernumber == number:

    if tries == 1 or 0:

        print("Your number was", number,"and it took me",tries,"Try")
    else:
        print("Your number was", number,"and it took me",tries,"Tries") 
computernumber=random.randint1100这将在每次迭代中取1100范围内的随机数。。这就是为什么你不应该把它放在你的循环中

打断别人就会打断循环。这就是为什么你的循环没有重复

修改代码:

import random
print("Hello and welcome to the AI guessing Game pick a number from 1 to 100 then press H or L to give the clue")
number=input("pick a number from 1 to 100 :")
number=int(number)
tries = 0
computernumber=1

# Bring it outside of your loop.
computernumber=random.randint(1,100)

while computernumber !=(number):
    print (computernumber)
    higherorlower=input("is your number higher or lower use H or L please!")
    if higherorlower == "H":
        computernumber +=1
        tries = int(tries)
        tries +=1
        computernumber=random.randint (computernumber,number)
    else:
            computernumber -=1
            computernumber=random.randint (1,computernumber)
            tries = 0
            tries = int(tries)
            tries +=1

            # Do not use break here
            #break

if computernumber == number:
    if tries == 1 or 0:

        print("Your number was", number,"and it took me",tries,"Try")
    else:
        print("Your number was", number,"and it took me",tries,"Tries")

我必须修改你的程序中的一些东西才能让它工作。我为随机数添加了一个函数,并为match添加了一个M选项,因此循环结束。我还需要将输入函数更改为原始输入。这是因为input修改了内容,而raw_input获得的输入与键入的完全相同

import random

def getRandomNumber( minimum, maximum ):
  return random.randint( minimum, maximum )

print( "Hello and welcome to the AI guessing game.  Pick a number from 1 to 100 then press H or L to give the clue.\n" )

number = int( raw_input("Pick a number from 1 to 100: ") )
tries = 0
computernumber = 0

# min and max random numbers initially
minimum = 1
maximum = 100

while computernumber != number:
  tries = tries + 1
  computernumber = getRandomNumber( minimum, maximum )

  print (computernumber)

  higherorlower = str( raw_input("Is your number higher, lower, or a match?  Use H, L, or M please! ") )

  if higherorlower == "H":
    computernumber +=1
    minimum = computernumber
    maximum = number
  elif higherorlower == "L":
    computernumber -=1
    minimum = 1
    maximum = computernumber
  elif higherorlower == "M":
    computernumber = number # this ends the loop on a match

if computernumber == number:
  if tries == 1 or 0:
    print("Your number was", number,"and it took me",tries,"Try")
  else:
    print("Your number was", number,"and it took me",tries,"Tries")

这是代码实际缩进的方式,还是只是粘贴缩进的方式?粘贴缩进是正确的,请修复缩进,使其与正在运行的代码完全相同。这里的代码不会运行,它只会抛出缩进错误。粘贴的代码在while循环中包含语法错误。如果这是你的错误,错误消息应该是有用的和直接的。谢谢我没有注意到im 13只是刚刚开始python