goingrogue
goingrogue

Reputation: 1

Python Code Error 3.3.2

I have recently been practicing my skills at figuring out my own problems but this one problem is persistent. This is the problematic code:

with open('login_names.txt', 'r') as f:
        login_name = [line.rstrip('\n') for line in f]
        k = input("name: ")
        if k in login_name :
            print("No errors")
        else:
            print("You have an error")
else:
    print('fail')
#var = login_name.index[random]
check = login_pass[login_name.index[random]]


with open('login_passw.txt', 'r') as p:
    login_pass = [line.rstrip('\n') for line in p]
    s = input("pass: ")
    if s == check :
        print("Works")
    else:
        print("Doesn't work")

f.close()
p.close()

Basically when I run the code it says:

Traceback (most recent call last):
  File "C:/Python33/Test.py", line 29, in <module>
    check = login_pass[login_name.index[random]]
TypeError: 'builtin_function_or_method' object is not subscriptable

I have tried lots of different suggestions on different questions but none of them have worked for me...

Upvotes: 0

Views: 102

Answers (1)

jazzpi
jazzpi

Reputation: 1429

If we assume that login_pass, login_name and random are defined in the namespace that line is in, the only problem you have is that you should write

check = login_pass[login_name.index(random)]

str.index is a function that returns the first index of the argument given in str, so you use () instead of [], which you would use for lists, tuples and dictionaries.

Upvotes: 4

Related Questions