我尝试为我的家人创建一个用户名和密码程序,但是当我打开它时会说:
Welcome.
Denied!!!
Press enter to quit.
任何人都可以解决我的问题吗?代码如下:
print ("Welcome.")
username = ("Please enter your username.")
if username == ("mom, savanna, joseph"):
print ("Granted.")
password = input ("Please enter your password.")
if password == ("1975, 2000, jesus"):
print ("Granted.")
question = ("Do you like it?")
if question == ("yes"):
print ("I thought you would.")
if question == ("no"):
print ("I guess I could do better")
else:
print ("error")
else:
print ("Denied!!!")
else:
print ("Denied!!!")
input ("press enter to quit")
答案 0 :(得分:2)
您的主要问题是:
username = ("Please enter your username.")
我认为你的意思是在那里进行input
函数调用。
username = input("Please enter your username.")
这将解决您的立即拒绝问题。
此行上也有同样的问题:
question = ("Do you like it?")
也应该是:
question = input("Do you like it?")
答案 1 :(得分:1)
这就是事情:
您不熟悉代码。我们在这里可以看到。但是,总有改进的余地,你可以从错误中吸取教训。有些人有时会制作奇怪的代码;)
我为你创建了一个工作模型,看看你哪里出错了。
print ("Welcome.")
username = input("Please enter your username.")
if username in ("mom", "savanna", "joseph"):
password = input("Please enter your password.")
if password in ("1975","2000","jesus"):
print ("Granted.")
question = input("Do you like it?")
if question == ("yes"):
print ("I thought you would.")
elif question == ("no"):
print ("I guess I could do better")
else:
print ("error")
else:
print ("Denied!!!")
break
您输入的question = ("Do you like it?")
没有input
。这很重要,因为它实际上允许用户输入内容。
你写了if username == ("mom,savanna,joseph")
这意味着如果用户名是mom,savanna,joseph
,那么你就进入了。显然你只想要其中一个进入。布尔运算符or
在这种情况下可以提供很多帮助。
请注意我使用elif
代替if
的方法。 Python只能有一个if和一个else。但是你想要的人数和你一样多。这意味着else-if。
修改强>
在阅读了乔尔的评论之后,我注意到你可能希望妈妈的密码是1975年,萨凡纳是2000年,而约瑟夫是耶稣。您如何使用我在此处给出的代码来做到这一点?
答案 2 :(得分:1)
我假设您想拥有3个不同的用户名,并且妈妈的密码是1975等。
password = {"mom":"1975", "savanna":"2000", "joseph":"jesus"}
print ("Welcome.")
username = input("Please enter your username.")
if username in password: #if x in dict returns True if dict has the key x
print ("Granted.")
mypassword = input ("Please enter your password.")
if mypassword == password[username]:
print ("Granted.")
answer = input("Do you like it?")
if answer == ("yes"):
print ("I thought you would.")
elif answer == ("no"):
print ("I guess I could do better")
else:
print ("error")
else:
print ("Denied!!!")
else:
print ("Denied!!!")
input("press enter to quit")
您可能想要围绕它进行循环,以便在出现错误条目时不必重新启动。
答案 3 :(得分:0)
您要求if username == ("mom, savanna, joseph")
而不是if username in ("mom, savanna, joseph")
如果你进入"妈妈"对于用户名,当它问你时,就像比较这个
if "mom" == ("mom, savanna, joseph"):
("mom, savanna, joseph")
和"mom"
不相等
检查项目是否在列表中使用in
关键字
>>> x = [0, 1, 2, 3, 4]
>>> 3 in x
True
在检查if password ==
@Alexander O' Mara是正确的,你从来没有用input()
用户名