二分法猜数Python头歌
时间: 2024-12-03 16:17:01 浏览: 50
二分法猜数是一种高效的猜数算法,适用于在有序数列中查找特定数字。它的基本思想是通过不断将搜索范围减半来快速逼近目标数字。以下是一个使用Python实现二分法猜数的示例代码:
```python
def binary_search_guess_number(target, low, high):
attempts = 0
while low <= high:
mid = (low + high) // 2
attempts += 1
print(f"尝试次数: {attempts}, 猜测数字: {mid}")
if mid == target:
return mid, attempts
elif mid < target:
low = mid + 1
else:
high = mid - 1
return None, attempts
# 示例使用
if __name__ == "__main__":
target_number = 73
low_bound = 1
high_bound = 100
result, attempts = binary_search_guess_number(target_number, low_bound, high_bound)
if result:
print(f"找到目标数字: {result}, 共尝试了 {attempts} 次")
else:
print("未找到目标数字")
```
在这个示例中,`binary_search_guess_number`函数接受目标数字和搜索范围的上下界作为参数。它通过不断计算中间值并与目标数字进行比较,逐步缩小搜索范围,直到找到目标数字或确定其不存在。
阅读全文