Python 从整数列表返回元素的索引值

Python 从整数列表返回元素的索引值,python,python-3.x,list,indexing,Python,Python 3.x,List,Indexing,python新手,因此容易出错,我的问题是: 整数的排序数组旋转了未知的次数 给定这样一个数组,以比线性时间更快的速度找到数组中元素的索引。如果数组中不存在该元素,则返回null 例如,给定数组[13,18,25,2,8,10]和元素8,返回4(数组中的索引值8) 可以假定数组中的所有整数都是唯一的 我已经尝试过的代码: def find_index(x, a): x = input("Enter number wish to be found: ") a = [13, 18,

python新手,因此容易出错,我的问题是:

整数的排序数组旋转了未知的次数

给定这样一个数组,以比线性时间更快的速度找到数组中元素的索引。如果数组中不存在该元素,则返回null

例如,给定数组[13,18,25,2,8,10]和元素8,返回4(数组中的索引值8)

可以假定数组中的所有整数都是唯一的

我已经尝试过的代码:

def find_index(x, a):
    x = input("Enter number wish to be found:  ")
    a = [13, 18, 25, 2, 8, 10]
    for element in a:
        if x not in a:
            return None
        else:
            print(a.index(x))

print(find_index())
我希望能够让用户输入一个数字,并接收回索引位置的值或
None
。我遇到了困难,不知道该往哪里走。有什么想法吗

编辑:我把错误和另一个错误混在一起了。真正的给定错误是:
find_index()缺少两个必需的位置参数:“x”和“a”

  • 您提供的代码不会产生上述错误

  • 为什么函数接受两个参数,然后立即覆盖它们

  • input
    返回一个字符串。您必须将
    x
    转换为整数

  • 无论如何,这个循环没有任何意义。所有函数需要做的就是换行
    。索引

    def find_index():
        try:
            x = int(input("Enter number wish to be found:  "))
        except ValueError:
            return 'You have to input an integer'
        a = [13, 18, 25, 2, 8, 10]
        try:
            return a.index(x)
        except ValueError:
            return None
    

    该代码给出了一个不同的错误:
    TypeError:find_index()缺少两个必需的位置参数:“x”和“a”
    。请做一份报告