python-3.x 无法找出random.randint(x,y)的问题

mqkwyuun  于 2023-02-06  发布在  Python
关注(0)|答案(1)|浏览(187)

我试着写一个程序,你想一个数字,计算机试着通过不断地升高和降低来猜测它,但它拒绝工作。我通过修剪程序的一些部分,把问题缩小到第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,但缺乏错误消息真的难倒了我,程序只是打开和立即关闭。我有正确答案的输入,所以程序不会立即关闭一个正确的答案

2hh7jdfx

2hh7jdfx1#

在第7行,把print("Is it " + comGuess + "?")改为print("Is it " + str(comGuess) + "?"),这是因为你试图在一个print函数中把一个string和一个int(一个数字)结合起来,但是这是行不通的,所以你必须先把int转换成str

相关问题