accounts = {"key":"value","thy":"l23","user2":"psw2"}
a = input("Enter username: ")
b = input("Enter password: ")
if accounts[a:b] == True:
    print("Welcome")

TypeError: unhashable type: 'slice'

这个错误是什么意思?我怎样才能修好它?

最佳答案

如果我知道你想做什么(验证用户名和密码),你需要这样做:

accounts = {"key":"value","thy":"l23","user2":"psw2"}
a = input("Enter username: ")
b = input("Enter password: ")
if accounts[a] and accounts[a] == b:
    print("Welcome")

此测试以查看输入的用户是否存在密码,然后测试输入的密码是否与存储在accounts中的密码匹配。
这种方法的主要问题是,当您输入密码时,它会被打印出来。要解决这个问题,请使用getpass.getpass()函数。

关于python - “TypeError:不可哈希类型:'sl​​ice'”是什么意思?我该如何解决?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33507229/

10-12 19:06