我是python的新手,我还在尝试理解while循环背后的逻辑。下面是一些似乎有用的代码。但是,我很困惑为什么为了使代码逻辑运行,我必须使用!=启动if语句。因为我正在使用"而真正的"运行if语句==?
是不是有意义while True:
name = input("What is your username?") # user asked to input name
if name != "prime90": # if name is not equal to "prime90"
print("Invalid username!")
continue # Starts the program again from the top if name is wrong
userpass = input("What is your password?")
if userpass == "password":
print('Access Granted')
break # Stops program once the correct password is entered
else:
print("Access Denied!!")
答案 0 :(得分:0)
虽然True旨在将您的代码置于无限循环中,并且它会继续重复其中的代码,除非“打破”'声明没有被执行。
所以,让我们看看你需要去代码中的break语句。
请注意,接受的用户名是' prime90',有效密码是'密码'。
该代码表示,如果输入的用户名不是' prime90',则第一个 if 条件将得到满足,并且代码将打印“无效的用户名!”' ,并继续'关键字会重新启动循环,因此代码会再次询问您的用户名是什么?'。
如果您这次输入了正确的用户名,即如果您输入了'prime90',则第一个 if 条件将无法满足,并且代码现在会问你'什么是你的密码?'。如果您输入密码'作为您的密码,将满足以下如果条件,代码将打印“授予访问权限”,并执行“中断”功能。声明。而当“休息”时语句被执行,代码将从while循环中出来。
但是,如果您输入的密码不是'密码',则您的第二个 if 条件将不会得到满足,并且该程序将进入 else 阻止到底,这将打印' Access Denied !!',你的while循环将从头开始。
简而言之,如果您的用户名和密码都是" prime90'和密码'然后代码将从while循环中出来,否则它将永远保留在循环内。