用Python语音编写【问题描述】输入一批从小到大的整数,以回车结束,存入列表中。再输入一个要查找的数,输出此数在列表中的索引位置,如不存在则输出-1。用扫描法或者二分法都可以 【输入形式】 【输出形式】 【样例输入输出】 Enter a number (<Enter> to quit):1 Enter a number (<Enter> to quit):2 Enter a number (<Enter> to quit):5 Enter a number (<Enter> to quit):6 Enter a number (<Enter> to quit):8 Enter a number (<Enter> to quit):10 Enter a number (<Enter> to quit): Enter a number searched:8 4 【样例说明】8在列表索引值为4的位置上
时间: 2024-02-12 20:06:44 浏览: 153
使用python进行语音播放,只需要一个库即可,下载立即可以调用,库仅需要通过pip安装即可,简单快速方便使用,可以对输入的文字进行自定义,非常的方便
请参考下面的 Python 代码实现:
```python
def binary_search(lst, target):
"""
二分查找算法实现
"""
left, right = 0, len(lst) - 1
while left <= right:
mid = (left + right) // 2
if lst[mid] == target:
return mid
elif lst[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1
def main():
"""
主函数,读入数据并调用二分查找算法
"""
lst = []
while True:
num = input("Enter a number (<Enter> to quit):")
if num == "":
break
lst.append(int(num))
target = int(input("Enter a number searched:"))
index = binary_search(lst, target)
print(index)
if __name__ == "__main__":
main()
```
运行程序后,输入一批从小到大的整数,每输入一个数按回车键确认,最后输入一个要查找的数,程序将输出此数在列表中的索引位置,如不存在则输出 -1。例如,输入样例中的数据,程序将输出 4。
阅读全文