当前位置: 首页 > 面试题库 >

我的if-else语句是怎么回事?(Python 3.3)

江育
2023-03-14
问题内容

我正在为计费程序项目编写条件语句。对于我认识的初学者来说有点先进,但是我欢迎挑战。无论如何,我计划通过询问用户名和密码来启动程序。因此,这是我对该程序的第一个编码。

print ("Hello and welcome to Billing Pro, please enter your username and password to access the database.")

username = input ("Enter username:")

if username == "cking" or "doneal" or "mcook":
  print ("Valid username.")
else:
  print ("Invalid username. Please try again.")


password = input ("Enter password:")

if password == "rammstein1" or "theory1" or "tupac1":
  print ("Valid password. User has been verified.")
else:
  print ("Invalid password. Access denied.")

现在,当我运行此代码时,如果我键入了用户名的三个选项之外的其他选项,Python会打印出“无效的用户名”行。现在由于某种原因,它会打印出“有效的用户名”,然后继续输入密码提示。另外,如果我输入了除密码选项以外的任何内容,它将始终读出“有效密码”提示。

另外,当用户输入三个选项之外的其他内容时,如何循环用户名提示?我应该使用while语句代替if-else还是可以在if-
else语句的末尾放置while语句以再次触发提示?

哦,我知道您说不清楚,因为问题中我的格式很糟糕,但是我确实在脚本本身上使用了适当的缩进。


问题答案:

布尔表达式本身的问题在于它们始终为True。

if a == 'b' or 'c'就像if (True|False) or 'c',并且由于'c'是true,所以不管第一个表达式(a == 'b')都是True 。

您要么想要,a == 'b' and a == 'c'…要么更简洁a in {'b', 'c'…},它检查是否a是集合的成员。

如果要循环,请使用循环:)

while username not in {"cking", "doneal", "mcook"}:
    print ("Invalid username. Please try again.")
    username = input ("Enter username:")
print ("Valid username.")


 类似资料:
  • Swift 条件语句 一个 if 语句 后可跟一个可选的 else if...else 语句,else if...else 语句 在测试多个条件语句时是非常有用的。 当你使用 if , else if , else 语句时需要注意以下几点: if 语句后可以有 0 个或 1 个 else,但是如果 有 else if 语句,else 语句需要在 else if 语句之后。 if 语句后可以有 0

  • else语句可以与if语句结合使用。 else语句包含else语句中的条件表达式解析为0或FALSE值时执行的代码块。 else语句是一个可选语句, else后面最多只能有一个else语句。 语法 (Syntax) if...else语句的语法是 - if expression: statement(s) else: statement(s) 流程图 (Flow Diagram) 例

  • 我制作了这个简单的GUI程序,它可以计算特定字符序列的元音和辅音。计数器还可以,但是我对if-else语句有一个问题,当那个字符既不是元音也不是辅音时,我必须显示一条消息...代码如下: 它看起来是这样的: 我输入了一个没有任何特殊字符或数字的字符“序列”。但它仍然显示消息,其中它有元音和辅音以外的其他字符。if-else语句有问题吗?感谢您的帮助:)

  • 问题内容: 为什么这给了我一个丢失的退货陈述错误?每个if / else都有返回值,最后一个括号出现错误 问题答案: 每个语句都在一个语句内。虽然从逻辑上讲这是不可能的,但是当所有评估都不为真时,编译器需要返回。 我建议: 我认为,此解决方案可解决编译器问题并稍微提高可读性。 或者,有以下解决方案: 引发异常将使你可以退出方法而无需返回任何信息……因为可以说,如果到达最后一个,显然会出错。

  • 我想问一下如何使用下面的代码执行if语句?我试过了,但它给了我一个错误;它说不能把void变成bool。有什么建议吗?

  • 主要内容:if 语句,实例,if...else 语句,实例,if...else if...else 语句,实例,if...else 嵌套语句,实例Scala IF...ELSE 语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。 可以通过下图来简单了解条件语句的执行过程: if 语句 if 语句有布尔表达式及之后的语句块组成。 语法 if 语句的语法格式如下: 如果布尔表达式为 true 则执行大括号内的语句块,否则跳过大括号内的语句块,执行大括号之后的语句块。 实