我的While循环在python中不起作用
我的while循环不会重复,即使未满足sentry值以中断循环。请帮忙。在我看来,while循环在变量computernumber等于number之前不应该中断我的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
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