Python 条件语句
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
可以通过下图来简单了解条件语句的执行过程:
Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。
Python 编程中 if 语句用于控制程序的执行,基本形式为:
if 判断条件: 执行语句…… else: 执行语句……
其中"判断条件"成立时(非零),则执行后面的语句,而执行内容可以多行,以缩进来区分表示同一范围。
else 为可选语句,当需要在条件不成立时执行内容则可以执行相关语句,具体例子如下:
实例
输出结果为:
luren # 输出结果
if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。
当判断条件为多个值时,可以使用以下形式:
if 判断条件1: 执行语句1…… elif 判断条件2: 执行语句2…… elif 判断条件3: 执行语句3…… else: 执行语句4……
实例如下:
实例
输出结果为:
roadman # 输出结果
由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。
实例
当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。
简单的语句组
你也可以在同一行的位置上使用if条件判断语句,如下实例:
实例
以上代码执行输出结果如下:
变量 var 的值为100 Good bye!
经典评论:
神仙氏族
a72***@qq.com
python 复合布尔表达式计算采用短路规则,即如果通过前面的部分已经计算出整个表达式的值,则后面的部分不再计算。如下面的代码将正常执行不会报除零错误:
a=0 b=1 if ( a > 0 ) and ( b / a > 2 ): print "yes" else : print "no"而下面的代码就会报错:
a=0 b=1 if ( a > 0 ) or ( b / a > 2 ): print "yes" else : print "no"神仙氏族
a72***@qq.com
python 复合布尔表达式计算采用短路规则,即如果通过前面的部分已经计算出整个表达式的值,则后面的部分不再计算。如下面的代码将正常执行不会报除零错误:
a=0 b=1 if ( a > 0 ) and ( b / a > 2 ): print "yes" else : print "no"而下面的代码就会报错:
a=0 b=1 if ( a > 0 ) or ( b / a > 2 ): print "yes" else : print "no"#!/usr/bin/env python # -*- coding: UTF-8 -*- # 一个简单的条件循环语句实现汉诺塔问题 def my_print(args): print args def move(n, a, b, c): my_print ((a, '-->', c)) if n==1 else (move(n-1,a,c,b) or move(1,a,b,c) or move(n-1,b,a,c)) move (3, 'a', 'b', 'c')
神仙氏族
a72***@qq.com
python 复合布尔表达式计算采用短路规则,即如果通过前面的部分已经计算出整个表达式的值,则后面的部分不再计算。如下面的代码将正常执行不会报除零错误:
a=0 b=1 if ( a > 0 ) and ( b / a > 2 ): print "yes" else : print "no"
而下面的代码就会报错:
a=0 b=1 if ( a > 0 ) or ( b / a > 2 ): print "yes" else : print "no"