python条件判断

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python条件判断相关的知识,希望对你有一定的参考价值。

一、python条件判断
条件语句是指根据条件表达式的不同计算结果,使程序流转到不同的代码块。python中的条件语句是if语句和if else语句。

1、if条件语句

if语句用于判断某个条件是否成立,如果成立,则执行语句内的程序,否则跳过if语句执行后面的内容,语法格式如下:

技术图片
if语句的执行过程是,如果条件的布尔值为true,则执行语句块:否则跳过语句块,继续执行后面的语句。语句块是一组程序语句,python的语法中没有用Java等语言中的花括号表示一组语句,而是采用空格缩进的方式表示一组语句,
通常用4个空格表示一组语句,使程序员在编码时减少了代码的工作量。下面示例展示if的使用:

>>> money = 100
>>> if (money > 99):
    print ("double kill")
    print ("triple kill")

double kill
triple kill

定义变量money=100,使用if语句时条件money>99的值是布尔值true,执行下面的2条打印语句,这2条打印语句都是前面有4个空格,表示他们是一个语句块。

2、条件表达式与关系运算符

使用if语句时,后面要用到条件表示式和关系运算符,他们可以经过运算得到布尔值。条件表达式的语法如下:
技术图片
前后两个数值,中间使用关系运算符比较,得到布尔值。常用的关系运算符如下表所示:
技术图片

下面代码演示他们的运算结果:

>>> print(10==9)
False               #假
>>> print(10!=9)
True                  #真
>>> print(10>9)
True                 #真
>>> print(10<9)
False                  #假
>>> print(10>=9)
True                     #真
>>> print(10<=9)
False                      #假

语句10==9是等于判断,他们不相等,结果是false。10!=9是不等于判断,它们不相等,结果是true。其他几种也是采用相同的方式进行判断得到结果。

3、if-else条件语句

if语句还可以加上else关键字,根据条件判断,决定执行不同的语句块,当条件为true时,执行语句块1,当条件为false时,执行语句块2,语法如下:
技术图片
示例代码如下:

cj=input("请输入您的成绩:")
cj=eval(cj)
if cj>=60:
    print("合格")
else:
    print("继续努力")

//输出结果
请输入您的成绩:80
合格
>>> 
请输入您的成绩:50
继续努力

第1遍执行时,输入80,条件为true,执行print‘合格’语句;第2遍执行时,输入50,条件为false,执行print‘继续努力’。所以if-else是在需要根据条件决定程序需要执行的内容时使用。
语法上要注意if和else后面都是要使用冒号,它们前面的空格缩进是相同的,表示他们是一个整体,而他们对应的语句块也是同级的,空格缩进是相同的,整体的代码看起来比其他语言更加简洁易懂。

4、多重if语句

使用if-else通过条件判断使程序能够有2条执行路径,但有时还需要更多路径进行处理,这时可以加入elif关键字处理。语法如下:
技术图片
当条件1成立时,执行条件1对应的语句块1,当条件2,3成立时,分别执行对应的语句块,当前面的条件都不成功时,执行else对应的语句块。示例代码如下:

while True:
    cj=input("请输入您的成绩:")
    cj=eval(cj)
    if cj>=90:
        print("优秀")
    elif cj>=70:
        print("合格")
    elif cj>=60:
        print("良好")
    else:
        print("继续努力")

//输出结果
请输入您的成绩:92
优秀
请输入您的成绩:71
合格
请输入您的成绩:65
良好
请输入您的成绩:45
继续努力
请输入您的成绩:35
继续努力

使用键盘输入不同的值,输出结果不同,执行了不同的语句块,其中else语句是一个可选项,可以有也可以没有,需要根据程序的需要灵活掌握。

5、if语句的常见问题

1)使用if-elif-else语句时,容易出现逻辑错误,因为条件是由上向下判断,如果条件成立,下面的条件判断将不再执行。前面示例代码如果把条件颠倒过来,比如把cj>=60放到cj>=90的上面,那么输入100时,首先判断的cj>=60是成立的,则不会再执行cj>=90的判断语句,程序将无法按要求得到结果,以下代码就是逻辑错误的典型情况:

cj=input("请输入您的成绩:")
    cj=eval(cj)
    if cj>=60:
        print("优秀")
    elif cj>=70:
        print("合格")
    elif cj>=90:
        print("良好")
    else:
        print("继续努力")

2)if语句中语句块没有缩进也是容易犯的错误,如下代码编译器会直接报错:

cj=input("请输入您的成绩:")
cj=eval(cj)
if cj>=60:
print("优秀")     #没有缩进

还要保证同级的语句缩进空格的绝对一致,即使只有一个空格的差别,他们已经表示不同的语句块了,如下代码所示:

cj=input("请输入您的成绩:")
cj=eval(cj)
if cj>=60:
    print("优秀")
elif cj>=70:
   print("合格")      #少了一个空格
elif cj>=90:
  print("良好")        #少了两个空格

第2条输出语句比第1条少了1个空格,执行时会报错。

3)对于使用其他语言转为python的程序员,由于习惯经常会忘记表达式后面的冒号,多练习熟悉语法。

以上是关于python条件判断的主要内容,如果未能解决你的问题,请参考以下文章

“python if”语句可以多条件判断吗?

Python 列表为判断条件

Python-条件判断

Python条件判断

python if判断两个条件

初识python-条件判断