TypeError:' int'对象不是可订阅的AI PROGRAM TEST

时间:2015-06-28 23:13:06

标签: python artificial-intelligence

我正在尝试编写一个程序,它会尝试找出你输入的5个数字,就像AI一样。但是,当我运行我的代码时,我收到以下错误:
TypeError: 'int' object is not subscriptable

这是我的代码 - 我做错了什么?

__author__ = 'Vansh'
import random

def get_num_code():
    x1 = int(input("Enter 5 digit number code one by one:\n"))
    x2 = int(input(""))
    x3 = int(input(""))
    x4 = int(input(""))
    x5 = int(input(""))
    x = [x1, x2, x3, x4, x5]
    return x

def ai0(x):
    y = random.randrange(1, 10)
    if x[0] == y:
        print("digit 1 found: {}".format(str(x[0])))
        ai1(x)
    else:
        print("Digit 1 not found")
        ai0(x)

def ai1(x):
    y = random.randrange(-1, 10)
    if x[1] == y:
        print("digit 2 found: {}".format(str(x[1])))
        ai2(x)
    else:
        print("Digit 2 not found")
        ai1(x)

def ai2(x):
    y = random.randrange(-1, 10)
    if x[2] == y:
        print("digit 3 found: {}".format(str(x[2])))
        ai3(x)
    else:
        print("Digit 3 not found")
        ai2(x)

def ai3(x):
    y = random.randrange(-1, 10)
    if x[3] == y:
        print("digit 4 found: {}".format(str(x[3])))
        ai4(x)
    else:
        print("Digit 4 not found")
        ai3(x)

def ai4(x):
    y = random.randrange(-1, 10)
    if x[4] == y:
        print("digit 5 found: {}".format(str(x[4])))
        final(x)
    else:
        print("Digit 5 not found")
        ai3(4)

def final(x):
    print("5 digit code FOUND: {}".format(str(x)))

def ai():
    x = get_num_code()
    ai0(x)

ai()

2 个答案:

答案 0 :(得分:0)

在你的ai4函数中,你传递一个int作为参数,但它需要一个列表。

ai3(4)

应该是一个列表 - 其他函数称之为

ai3(x)

答案 1 :(得分:0)

您可以使用

获得类似的功能
Enter a number: 123
Digit 0 not found
Digit 0 not found
Digit 0 found: 1
Digit 1 not found
Digit 1 not found
Digit 1 found: 2
Digit 2 found: 3

输出:

{{1}}