给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
当输入a=2时报错,Process finished with exit code -1
输入其他的都不会,用的python语言 ,为啥会这样 求解
nums=[1,3,5,7]
a=int(input("输入数字"))
left=0
right=len(nums)-1
while left<=right:
mid = (right+left)//2
if a>nums[mid]:
left=nums[mid]+1
elif a<nums[mid]:
right=nums[mid]-1
else:
print("目标在%s"%mid)
break
else:
print(right-1)