错误:"列表"对象不可调用



我正在尝试制作一个程序,该程序将从文件中随机拾取名称。将询问用户是否要再次捡起另一个(按1)。名称不能两次捡起。拾取后,名称将存放在列表中,并写入文件中。当所有名称被拾取时,该程序将能够从一开始重新启动。我检查了其他类似的问题,但我仍然没有得到...

from random import *
#import a list of name from a txt file
def getL1():
    l1 = open("Employees.txt", "r")
    list1 = []
    x = 0
    for line in l1:
        list1.append(line)
        x = x+1
    list1 = [el.replace('n', '') for el in list1]
    #print("list" 1 :",list)
    return list1
#import an empty list (that will be filled by tested employees) during
#execution of the program
def getL2():
    l2 = open("tested.txt", "r")
    list2 = []
    for line in l2:
        list2.append(line)
    list2 = [el.replace('n', '') for el in list2]
    #print("list 2 :",list2)
    l2.close()
    return list2

def listCompare():
    employees = getL1()#acquire first list from employee file
    tested = getL2()#acquire second list from tested file
    notTested = []# declare list to hole the results of the compare
    for val in employees:
        if val not in tested: #find employee values not present in tested
            #print(val) 
            notTested.append(val)#append value to the notTested list
    return notTested
def listCount():
    x=0
    employees = getL1()
    tested = getL2()
    for val in employees:
        if val not in tested:
            x = x+1
    return x
#add the names of tested employees the the second second file
def addTested(x):
    appendFile = open("tested.txt", "a")
    appenFile.write(x)
    appendFile.write('n')
    appendFile.close()

def main():
    entry = 1
    while entry == 1:
        pickFrom = listCompare()
        if listCount() > 0:
            y = randint (0, (listCount ()-1))
            print ('n' + "Random Employee to be tested is: ", pickFrom(y), "n")
            addTested(pickFrom[y])
            try:
                entry = int(input("Would you like to test another employee? Enter 1:"))
            except:
                print("The entry must be a number")
                entry = 0
        else:
            print("n/ new cycle has begun")
            wipeFile = open("tested.txt", "w")
    print ("goodbye")
main()

我遇到的最后一个错误是:

Traceback (most recent call last):
  File "prog.py", line 78, in <module>
    main()
  File "prog.py", line 65, in main
    print ('n' + "Random Employee to be tested is: ", pickFrom(y), "n")
TypeError: 'list' object is not callable

根据代码打印pickFrom是一个列表,当您在打印中引用它时,需要使用[]调用它。将其更改为pickFrom[y]

相关内容

  • 没有找到相关文章

最新更新