python判断正确的是_python条件判断

一、python条件判断

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

1、if条件语句

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

20190816223539382311.png

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语句时,后面要用到条件表示式和关系运算符,他们可以经过运算得到布尔值。条件表达式的语法如下:

20190816223539644040.png

前后两个数值,中间使用关系运算符比较,得到布尔值。常用的关系运算符如下表所示:

20190816223539689940.png

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

>>> 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,语法如下:

20190816223539732910.png

示例代码如下:

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关键字处理。语法如下:

20190816223539780764.png

当条件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的程序员,由于习惯经常会忘记表达式后面的冒号,多练习熟悉语法。

原文地址:https://blog.51cto.com/14156658/2430267

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值