编码课程中的一个项目我要求学生完成密码保护程序的代码,其中包含许多选项和菜单。我遇到困难的部分是根据与之相关的网站打印密码。
密码保存在如下列表中:
passwords = [["yahoo","XqffoZeo"],["google","CoIushujSetu"]]
我尝试做的是找到该列表中的项目地址,由用户输入,并在其后直接打印该项目。将要求用户输入网站,并打印列表中的以下项目(密码)。
但是,出于测试目的,我还需要检查相关网站的密码是否在"密码"列表。
if passwordToLookup in passwords:
print(passwords.index(passwordToLookup))
出于某种原因,这总是会返回" False。"这是因为我搜索的列表是加密的吗?如果是这样,我如何在此列表中搜索特定项目?如何在网站后面的列表中打印第二项?
答案 0 :(得分:1)
使用词典
www.streamable.com
或使用字典的默认get方法
public class SayHelloConfiguration {
@Autowired
IClientConfig ribbonClientConfig;
@Bean
public IPing ribbonPing(IClientConfig config) {
return new PingUrl();
}
@Bean
public IRule ribbonRule(IClientConfig config) {
return new AvailabilityFilteringRule();
}
}
没有词典
PingUrl ()
答案 1 :(得分:0)
您的问题是您目前只查找密码列表,但您需要迭代密码并测试其中的各个列表。你可以使用这样的东西
passwords = [["yahoo","XqffoZeo"],["google","CoIushujSetu"]]
def getPasswordIndex():
for list in passwords:
if "CoIushujSetu" in list:
return list.index("CoIushujSetu")
else:
print(False)
print(getPasswordIndex())
#returns False then 1 so it's the second item in the second list """
print(passwords[1][1])
#prints "CoIushujSetu"
答案 2 :(得分:0)
您可以遍历列表并检查网站:
for elem in passwords:
if passwordToLookup in elem:
print # elem[0] for the website or elem[1] for the password
不确定为什么要尝试打印索引,但如果需要,也可以使用passwords.index(elem)
。
答案 3 :(得分:0)
使用词典(key: value
对),您的代码就像这样简单:
passwords = [["yahoo","XqffoZeo"],["google","CoIushujSetu"]]
pass_dict = dict(passwords)
site = input("Insert site: ")
if site in pass_dict: # searching only in keys
print(pass_dict[site]) # print value of that key
答案 4 :(得分:0)
您需要做的是遍历列表,如下所示:
def ifPassExist():
for password in passwords:
if passwordToLookUp in password:
return passwords.index(password)