如何在Python 3中写条件语句

本教程将带您在编写Python编程语言的条件语句。

介绍

条件语句是每种编程语言的一部分。使用条件语句,我们可以有代码,有时运行,在其他时间不运行,这取决于当时的程序的条件。 当我们完全执行一个程序的每个语句,从顶部移动到底部,每一行按顺序执行,我们不要求程序评估特定的条件。通过使用条件语句,程序可以确定是否满足某些条件,然后被告知接下来要做什么。 让我们看看一些例子,我们将使用条件语句:
  • 如果学生在她的考试中收到超过65%的报酬,报告她的成绩通过;如果没有,则报告她的成绩失败
  • 如果他在他的帐户里有钱,计算利息;如果他不这样做,要收取罚金
  • 如果他们购买10个或更多的橙子,计算折扣5%;如果他们买的少,那么不要
通过评估条件和分配代码以基于是否满足这些条件来运行,我们正在编写条件代码。 本教程将带您通过编写Python编程语言中的条件语句。

If语句

我们将与启动if声明,这只会在该声明是真实的情况下,评价一个陈述是否是真还是假,和运行代码。 在纯文本编辑器中,打开一个文件并写下面的代码:
grade = 70

if grade >= 65:
    print("Passing grade")
有了这个代码,我们有可变grade ,并赋予它的整数值70 。 然后,我们使用的是if语句来计算变量等级是否大于或等于( >= )为65 。 如果它满足这个条件,我们是在告诉程序打印出字符串Passing grade 。 保存该程序作为grade.py ,并在运行它的本地编程环境,从终端窗口的命令python grade.py 。 在这种情况下,70级满足大于或等于65的条件,所以一旦你运行该程序,您将收到以下输出:
Passing grade
现在,让我们用的值更改更改此程序的结果grade变量60
grade.py
grade = 60

if grade >= 65:
    print("Passing grade")
当我们保存并运行这段代码,我们将不会获得任何输出,因为条件成立,我们没有告诉程序执行另一个说法。 举一个例子,让我们计算一个银行账户余额是否低于0。让我们创建一个名为account.py写下面的程序:
account.py
balance = -5

if balance < 0:
    print("Balance is below 0, add funds now or you will be charged a penalty.")
当我们运行程序python account.py ,我们会收到以下的输出:
Balance is below 0, add funds now or you will be charged a penalty.
在程序中,我们初始化变量balance用的值-5 ,小于0。由于平衡满足的条件if语句( balance < 0一旦我们保存并运行该代码,我们将接收的串输出。再次,如果我们将余额更改为0或正数,我们将不会收到输出。

Else语句

很可能,我们会希望程序做一些事情,即使是if语句计算为false。在我们的成绩示例中,我们将需要输出成绩是通过还是失败。 要做到这一点,我们将增加一个else语句上面构造这样的等级条件:
grade.py
grade = 60

if grade >= 65:
    print("Passing grade")

else:
    print("Failing grade")
由于以上级变量的值60时, if语句计算为假,所以程序将不打印出来Passing grade 。 在else后面的语句告诉程序做一些事情呢。 当我们保存并运行程序时,我们将收到输出:
Failing grade
如果我们再重写程序给予等级值65或更高,我们反而会接收输出Passing grade 。 要添加else语句的银行账户示例中,我们重写这样的代码:
account.py
balance = 522

if balance < 0:
    print("Balance is below 0, add funds now or you will be charged a penalty.")

else:
    print("Your balance is 0 or above.")
Your balance is 0 or above.
在这里,我们改变了balance变量值的正数,以使else语句将打印。 拿到第一if语句来打印,我们可以重写价值为负数。 通过组合if用语句else语句,你正在构建一个两部分组成的条件语句会告诉计算机执行某些代码与否if条件得到满足。

Else if 语句

到目前为止,我们已经提出了条件语句布尔选项,每个if语句评估为true或false。 在许多情况下,我们将需要一个评估两个以上可能结果的程序。 为此,我们将使用一个else if语句,这是写在Python作为elif 。 该elif或者if语句看起来像if声明,将评估其他条件。 在银行帐户计划中,我们可能希望针对三种不同情况具有三个离散输出:
  • 结果低于0
  • 结果等于0
  • 结果高于0
elif语句将被放置在之间if语句和else声明如下:
account.py
. . .
if balance < 0:
    print("Balance is below 0, add funds now or you will be charged a penalty.")

elif balance == 0:
    print("Balance is equal to 0, add funds soon.")

else:
    print("Your balance is 0 or above.")
现在,一旦我们运行程序,有三种可能的输出:
  • 如果变量balance等于0 ,我们将收到输出elif语句( Balance is equal to 0, add funds soon.
  • 如果变量balance被设置为正数,我们将接收来自输出else声明( Your balance is 0 or above. )。
  • 如果变量balance设置为负数,则输出将是从字符串if语句( Balance is below 0, add funds now or you will be charged a penalty )。
如果我们想要有三种以上的可能性,怎么办?我们可以通过写多个这样做elif语句转换成我们的代码。 在grade.py程序,让我们重写代码,以便有相应的数值等级范围内的几个字母等级:
  • 90以上相当于A级
  • 80-89相当于B级
  • 70-79相当于C级
  • 65-69相当于D级
  • 64以下相当于F级
若要运行此代码,我们都需要一个if语句,三elif语句,以及else的语句,将处理所有失败的情况。 让我们重写上面例子中的代码,得到打印出每个字母等级的字符串。我们可以保持我们的else说法一样。
grade.py
. . .
if grade >= 90:
    print("A grade")

elif grade >=80:
    print("B grade")

elif grade >=70:
    print("C grade")

elif grade >= 65:
    print("D grade")

else:
    print("Failing grade")
由于elif语句将按顺序进行评估,我们可以保持我们的陈述很基本的。此程序正在完成以下步骤:
  1. 如果等级大于90时,程序将打印A grade ,如果级别小于90时,程序将继续下一条语句...
  2. 如果等级大于或等于80时,程序将打印B grade ,如果等级为79或更低时,程序将继续下一条语句...
  3. 如果等级大于或等于70时,程序将打印C grade ,如果等级为69或更低时,程序将继续下一条语句...
  4. 如果等级大于或等于65时,程序将打印D grade ,如果等级为64或更低时,程序将继续下一条语句...
  5. 该程序将打印Failing grade ,因为所有上述条件没有得到满足。

嵌套 if 语句

一旦你感觉舒适的ifelifelse语句,你可以移动到嵌套条件语句。 我们可以使用嵌套if对报表的情况下,我们要检查一个次要条件,如果第一个条件执行为真。 为此,我们可以在另一个if-else语句内部使用if-else语句。 让我们看一个嵌套的语法if语句:
if statement1:              #outer if statement
    print("true")

    if nested_statement:    #nested if statement
        print("yes")

    else                    #nested else statement
        print("no")

else:                       #outer else statement
    print("false")
运行此代码可能会导致几个可能的输出:
  • 如果statement1计算为真,程序会再评估是否nested_statement也计算为true。如果两种情况都为真,输出将是:
true
yes
  • 但是,如果statement1计算结果为真实的,但nested_statement计算为false,那么输出将是:
yes
false
  • 如果statement1计算为false,嵌套的if-else语句将无法运行,所以else语句将单独运行,输出将是:
false
我们也可以有多个if嵌套在我们的代码语句:
if statement1:                  #outer if 
    print("hello world")

    if nested_statement1:       #first nested if 
        print("yes")

    elif nested_statement2:     #first nested elif
        print("maybe")

    else                        #first nested else
        print("no")

elif statement2:                #outer elif
    print("hello galaxy")

    if nested_statement3:       #second nested if
        print("yes")

    elif nested_statement4:     #second nested elif
        print("maybe")

    else                        #second nested else
        print("no")

else:                           #outer else
    statement("hello universe")
在上面的代码中,有一个嵌套的if每个内声明if除了声明elif声明。这将允许在每个条件下的更多选项。 让我们来看看嵌套的if语句与我们的例子grade.py程序。 我们可以检查一个成绩是否先通过(大于或等于65%),然后评估数字成绩应该等于哪个字母成绩。 如果成绩没有通过,我们不需要通过字母成绩,而是可以让程序报告成绩失败。 我们修改后的代码与嵌套if语句将是这样的:
grade.py
. . .
if grade >= 65:
    print("Passing grade of:")

    if grade >= 90:
        print("A")

    elif grade >=80:
        print("B")

    elif grade >=70:
        print("C")

    elif grade >= 65:
        print("D")

else:
    print("Failing grade")
如果我们运行带有可变码grade设置为整数值92 ,第一个条件得到满足,程序将打印出Passing grade of: 。 接着,将检查以查看是否等级是大于或等于90,并且由于此条件也满足时,它会打印出A 。 如果我们运行的代码grade变量设置为60 ,那么第一个条件不满足,所以程序将跳过嵌套if语句和向下移动到else的语句,该程序打印出Failing grade 。 我们当然可以为此添加更多选项,并使用第二层嵌套if语句。也许我们将要分别评估A +,A和A-的等级。我们可以这样做,首先检查等级是否通过,然后检查等级是否为90或以上,然后检查等级是否超过96为A +例如:
grade.py
. . .
if grade >= 65:
    print("Passing grade of:")

    if grade >= 90:
        if grade > 96:
            print("A+")

        elif grade > 93 and grade <= 96:
            print("A")

        elif grade >= 90:
            print("A-")
. . .
在上面的代码,对于grade变量设置为96 ,该程序将运行以下命令:
  1. 检查等级是否大于或等于65(true)
  2. 打印出Passing grade of:
  3. 检查等级是否大于或等于90(true)
  4. 检查等级是否大于96(假)
  5. 检查等级是否大于93,还小于或等于96(true)
  6. 打印A
  7. 保留这些嵌套的条件语句,并继续剩余的代码
因此,对于96年级的程序的输出看起来像这样:
Passing grade of:
A
嵌套if语句可以提供机会,条件的几个特定级别添加到您的代码。

结论

通过使用像条件语句if语句,你将有超过你的程序执行什么更好的控制。条件语句告诉程序评估是否满足某个条件。如果条件满足,它将执行特定的代码,但如果不满足,程序将继续向下移动到其他代码。 继续修炼条件语句,尝试使用不同的运算符,结合andor 运算,并使用循环的条件语句。