python实现线性查找
python实现线性查找线性查找又叫顺序查找,它的基本思想是从第一个记录开始,逐个比较记录的关键字,直到和给定的K值相等,则查找成功;若比较结果与文件中n个记录的关键字都不等,则查找失败。```pythondef linear_search(num_list, num):"""实现线性查找:param num_list: 输入的数组:param num: 在数组中需要进行查找的数:return:"
·
python实现线性查找
线性查找又叫顺序查找,它的基本思想是从第一个记录开始,逐个比较记录的关键字,直到和给定的K值相等,则查找成功;若比较结果与文件中n个记录的关键字都不等,则查找失败。
```python
def linear_search(num_list, num):
"""
实现线性查找
:param num_list: 输入的数组
:param num: 在数组中需要进行查找的数
:return:
"""
for i in num_list:
if i == num:
# num_list.index(i):表示取num_list列表中的i这个元素的索引
print("查找的数存在,索引为%s" % num_list.index(i))
return 1
# # 当i是列表的最后一个元素且i不等于num,则返回-1,列表中不存在num这个数
# elif i == num_list[-1] and i != num:
# print("查找的数不存在")
# return -1
print("查找的数不存在")
return -1
if __name__ == '__main__':
while True:
print("~~~~~~欢迎使用线性查找~~~~~~")
num_str = input("请输入数组:")
# 将字符串以“,”进行切割,并返回一个列表
num_list = num_str.split(",")
# print(num_list)
num_list = list(map(int, num_list)) # 使用map函数对num_list的每一个元素进行操作,将其转化为Int型
num = int(input("请输入查找的目标数:"))
# 22,14,5,25,17,33
# 调用linear_search函数
result = linear_search(num_list, num)
print("=========================")
if result == -1:
break
运行结果
~~~~~~欢迎使用线性查找~~~~~~
请输入数组:22,14,5,25,17,33
请输入查找的目标数:17
查找的数存在,索引为4
=========================
~~~~~~欢迎使用线性查找~~~~~~
请输入数组:
=========================
~~~~~~欢迎使用线性查找~~~~~~
请输入数组:22,14,5,25,17,33
请输入查找的目标数:66
查找的数不存在
=========================
更多推荐
已为社区贡献1条内容
所有评论(0)