Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中的猜测数_Python_Python 3.x - Fatal编程技术网

python中的猜测数

python中的猜测数,python,python-3.x,Python,Python 3.x,该程序是这样的,用户在脑海中选择一个数字,而不是将其输入计算机。(数字范围为(1,99)) 程序猜测并打印一个数字。randint(1,99) 打印的数字创建三种模式: 1-当你在程序中输入字母“s”时,它是否大于你心中的数字,表示你心中的数字小于打印的数字,并且程序必须猜测并显示另一个数字(需要注意的是,在这种情况下,通过在程序中键入“s”,一个人必须猜测一个比他先前猜测的更小的数字,才能更快地完成程序。) 2-或者当您在程序中键入字母“l”时,打印的数字小于您心目中的数字,表示您心目中的数字

该程序是这样的,用户在脑海中选择一个数字,而不是将其输入计算机。(数字范围为(1,99))

程序猜测并打印一个数字。randint(1,99) 打印的数字创建三种模式: 1-当你在程序中输入字母“s”时,它是否大于你心中的数字,表示你心中的数字小于打印的数字,并且程序必须猜测并显示另一个数字(需要注意的是,在这种情况下,通过在程序中键入“s”,一个人必须猜测一个比他先前猜测的更小的数字,才能更快地完成程序。)

2-或者当您在程序中键入字母“l”时,打印的数字小于您心目中的数字,表示您心目中的数字大于打印的数字,程序必须猜测并显示另一个数字(应该注意的是,在这种情况下,通过键入“l”,程序必须猜测比其前一个更大的数字,以便更快地完成程序。)

3=或者打印的数字是否与您所想的数字相同,通过在程序中键入字母“d”,您猜对了,程序结束

我试试这个

from random import randint
guess=randint(1,99)
print(guess)
my_answer=''
while my_answer != 'd':
    my_answer=input()
    if my_answer=="l":
        n=randint(guess,99)
        print(n)

    elif my_aswer=='s':
        m=randint(1,guess)
        print(m)
    else:
        print('done')

但是我不知道如何才能不再根据前面的数字进行猜测,并使猜测范围变小。

您需要更改
guess
,而不是使用新变量
n
。您还可以每次设置猜测范围

low = 1
high = 99
guess = randint(low, high)
print(guess)
my_answer = ''
while my_answer != 'd':
    my_answer = input()
    if my_answer == "l":
        low = guess
        guess = randint(guess, high)
        print(guess)

    elif my_answer == 's':
        high = guess
        guess = randint(low, guess)
        print(guess)
    else:
        print('done')
示例输出

20
l
81
s
63
s
22
l
47
l
60
s
48
l
59
s
57
s
56
s
53
d
done