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是在需要根据条件决定程序需要执行的内容时使用。 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的程序员,由于习惯经常会忘记表达式后面的冒号,多练习熟悉语法。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |