if语句
作用:
让程序根据条件选择型的执行某条语句或某些语句
说明:
if语句又叫条件语句,也叫分支语句
语法:
if 真值表达式1:
语句块 #语句块需要缩进,4个英文的空格(不建议使用TAB)
elif 真值表达式2:
语句块2
elif 真值表达式3:
语句块3
...
else:
语句块n
语法说明:
elif子句可以有0个,1个或多个
else子句可以有0个或1个且只能放在此if语句的最后
要求:
if语句内部的语句通常要以4个空格的缩进来表示包含关系,
相同的缩进格式代表相同的所属级别
if语句的真值表达式
if 100:
print("True")
上述表达式,含义上等同于:
if bool(100):
print("True")
布尔函数,除了0和其他特殊情况下(详见1128-01笔记),只要取值是非零数字,输出永远为True。
if语句的嵌套:
if语句本身是由多条子句组成的一条符合语句
if语句可以作为语句嵌套到另一个语句的内部
表达式和语句的定义
语句:语句是一个执行单位,对于计算机来讲,一条语句是一条完整的意思。
例如:
赋值语句
del语句
if语句
表达式语句
表达式:简单的来讲可以理解为数据加上运算符,通常表达式可以返回一个对象
例如:
1+2
bool(100)
条件表达式
语法:
表达式1 if 真表达式 else 表达式2
作用:
如果真值表达式的布尔环境值为True,则执行表达式1并返回结果的引用,
否则执行表达式2并返回结果的引用
例如:
#商场促销,满100反20 money=float(input("请输入商品总额")) pay = money - 20 if money>=100 else money #可以读做,在money>=100的时候给pay赋值为money-20,否则直接赋值为money print("您需要支付",pay,"元")
练习:
写程序,输入一个数
1.用if语句计算出这个数的绝对值并打印出来
2.用条件表达式计算出这个数的绝对值并打印出来
# 1.用if语句计算出这个数的绝对值并打印出来 num = float(input("请输入一个数字")) if num>=0: print("该数字的绝对值为",num) elif num<0: num = -num #-num为正负号运算符,在num为负数的时候,负负得正,可以算出改数字的绝对值 print("该数字带绝对值为",num) else: print("您的输入有误") # 2.用条件表达式计算出这个数的绝对值并打印出来 num = float(input("请输入一个数字")) a = num if num >=0 else -num print("您输入的数字的绝对值为",a)
pass语句:
作用:
通常用来填充语法空白
pass语句又名空语句
语法:
pass
例如:
#判断一个学生输入的成绩是否合法,不合法给出警告,合法什么也不做 score = float(input("请输入成绩:")) if 0<score<100: pass #如果不填满足条件时发生的事情,python会报错,pass语句作填充空白用 else: print("您的输入有误!!!")
布尔运算:
运算符:
not and or
布尔非操作 not
语法:not x
作用:
对x进行布尔取值,如bool(x)
如果为True,则返回false,否则返回True
示例
not True #false
not false # True
not 100 # 布尔整数值为真,not之后为假
布尔与操作 and
语法:
x and y
注:x,y代表表达式
作用:
优先返回假值对象
当bool(x)的值为false 的时候,返回x,否则返回y
示例
true and true #true
true and false #false
false and true #false
false and false #false
** 100 and 200 #返回200,python可以用一个对象代表真假。
** #100和200返回都是真,两边结果都为真的时候,返回最后一个出现的真值对象
** 0 and 0j #返回0,因为优先返回假值对象,所以当两边结果都为真的时候,
** #返回第一个出现的假值对象
在交互模式下
>>> 100 and 200
200
>>> 0j and 0
0j
>>> 0 and 0j
0
布尔或操作 or
语法:
x or y
作用:
优先返回真值对象,当x为True时返回x,否则返回y
示例:
true or true #true
true or false #true
false or true #true
false or false #false
100 or 200 #输出100,与and类似,or优先输出第一个出现的真值对象
100 or 0.0 #100
0 or 200 #200
0 or 0.0 #0.0
思考:
s = float(input("请输入成绩:") or '0') #当未输入任何内容的时候默认填0
print(s)
if s<0 or s>100: #只要满足小于零或大于100,if语句条件就成立
print("你的输入有误")
else:
print("你输入的成绩为:",s)
正负号运算符:
+(正) -(负)
语法:
+ 表达式
- 表达式
示例:
a = 5
b = -a
c = +a
print(b,c,sep="、")
-5、5