python二分法猜数代码
时间: 2023-11-16 12:56:59 浏览: 57
好的,下面是一个简单的 Python 二分法猜数代码示例:
```python
import random
def binary_search(guess_num):
low = 1
high = 100
guess = 0
while guess != guess_num:
guess = (low + high) // 2
print("我猜的数字是:", guess)
if guess > guess_num:
high = guess - 1
elif guess < guess_num:
low = guess + 1
print("我猜对了!")
if __name__ == '__main__':
guess_num = random.randint(1, 100)
print("我想到了一个1到100之间的数字,你来猜猜看吧!")
binary_search(guess_num)
```
这个程序会随机生成一个1到100之间的数字,然后让用户通过二分法猜测这个数字。程序会根据用户的猜测结果,逐步缩小猜测范围,直到猜中为止。
相关问题
python二分法猜数
以下是一个简单的Python二分法猜数的例子:
```python
import random
def binary_search(number, guess_list):
low = 0
high = len(guess_list) - 1
while low <= high:
mid = (low + high) // 2
guess = guess_list[mid]
if guess == number:
return mid
if guess > number:
high = mid - 1
else:
low = mid + 1
return None
if __name__ == '__main__':
guess_list = list(range(1, 101))
number = random.randint(1, 100)
print("请猜测一个1到100之间的数字:")
while True:
guess = int(input())
result = binary_search(guess, guess_list)
if result is None:
print("猜错了,请再试一次:")
elif result == number:
print("恭喜你,猜对了!")
break
elif result < number:
print("猜小了,请再试一次:")
else:
print("猜大了,请再试一次:")
```
c语言二分法猜数代码
二分法猜数是一种经典的算法,可以在较短的时间内猜出一个数字。下面是一个简单的 C 语言二分法猜数代码示例:
```c
#include <stdio.h>
int main()
{
int low = 1, high = 100, mid, guess;
char response;
printf("请想好一个 1 到 100 之间的整数,我来猜它是多少。\n");
while (low <= high)
{
mid = (low + high) / 2;
printf("我猜这个数是 %d,对吗?(y/n)\n", mid);
scanf(" %c", &response);
if (response == 'y')
{
printf("太好了,我猜对了!\n");
return 0;
}
else if (response == 'n')
{
printf("哦,那这个数是大于还是小于 %d 呢?(输入 h 表示大于,l 表示小于)\n", mid);
scanf(" %c", &response);
if (response == 'h')
{
high = mid - 1;
}
else if (response == 'l')
{
low = mid + 1;
}
}
}
printf("你在跟我开玩笑吗?我猜不到这个数!\n");
return 0;
}
```
代码中,我们首先定义了一个范围为 1 到 100 的整数区间,然后在每次循环中猜测区间的中间值。如果猜对了,程序就结束;如果猜错了,就根据用户的回答缩小区间范围,直到猜对为止。