我试着写一个程序,你想一个数字,计算机试着通过不断地升高和降低来猜测它,但它拒绝工作。我通过修剪程序的一些部分,把问题缩小到第6行或第7行,但我不知道这些行有什么问题,无法修复它。
import random
print("Think of a number between 0 - 100\nType:\n'Higher' if the number is too low\n'Lower' if the number is too high\n'Correct' if the number is correct")
minRange = 0
maxRange = 100
while True:
comGuess = random.randint(minRange,maxRange)
print("Is it " + comGuess + "?")
answer = input("")
if answer == "Higher" or answer == "higher" or answer == "h":
minRange = comGuess
elif answer == "Lower" or answer == "lower" or answer == "l":
maxRange = comGuess
elif answer == "Correct" or answer == "correct" or answer == "c":
input("Yay I won!")
break
else:
print("I don't understand")
就我所知,它应该说一个数字,你提供一个响应,它一次又一次地猜测,不断缩小参数,直到得到正确的答案。我还在学习Python,但缺乏错误消息真的难倒了我,程序只是打开和立即关闭。我有正确答案的输入,所以程序不会立即关闭一个正确的答案
1条答案
按热度按时间2hh7jdfx1#
在第7行,把
print("Is it " + comGuess + "?")
改为print("Is it " + str(comGuess) + "?")
,这是因为你试图在一个print函数中把一个string和一个int(一个数字)结合起来,但是这是行不通的,所以你必须先把int转换成str