有人知道为什么这个函数只输出猜测过高的结果吗?如何修复的想法?你知道吗
from __future__ import print_function
import random
def goguess():
HighNumber= random.randint(1,100)
LowNumber= random.randint(1,HighNumber-1)
answer = random.randint(LowNumber+1,HighNumber)
guesses = 0
print ('I have a number between', LowNumber, 'and', HighNumber, 'inclusive.')
guess = raw_input('guess:')
while guess != answer:
if guess > answer:
print(guess, 'is too high.')
guesses+=1
print('Guess:', guesses)
guess = raw_input('guess:')
if guess < answer:
print(guess, 'is too low')
guesses+=1
print('Guess:',guesses)
guess = raw_input('guess:')
if guess == answer:
print ('Right! My number is', answer,'! You guessed in ',guesses, 'guesses!')
您需要将它们的输入转换为
int
否则,您将
str
与int
进行比较,而str
将始终更大。你知道吗在Python3.x中,您将以更明显的方式看到这个问题,因为您不能再像这样比较这些类型了
猜测必须是整数才能与整数进行比较。原始输入返回一个整数字符串。可以使用int()将字符串转换为整数。之后
你可以储存
相关问题 更多 >
编程相关推荐