python代码学习——if 判断语句

python代码学习——if判断语句

  • if判断
    • 1运算符
      • 算数运算符
      • 赋值运算符
      • 比较运算符
      • 逻辑运算符
        • 短路运算符
      • 成员运算符
      • 位运算符
      • 身份运算符
      • 空值判断
    • 2.if判断语句
      • if的例题
  • if 的简写形式

if判断

若要学习if判断语句,首先要知道什么时运算符,因为if语句是判断语句,后面要跟判断条件

1运算符

运算符分为:算数运算符,赋值运算符,比较运算符,逻辑运算符和成员运算符,位运算符,身份运算符,以下对各种运算符进行一一讲解

运算符的优先级为:算数运算符>位运算符>身份运算符>成员运算符>逻辑运算符>赋值运算符

算数运算符

算数运算符分为加、减、乘、除、模、整除,幂

  • a+b 加法
  • a-b 减法
  • a*b 乘法
  • a/b 除法,除法如果不能除尽,则显示的结果为浮点数,如果想要整数可使用int函数来强制转换
  • a//b 整除,得到的结果为整数,不遵循四舍五入的规则
  • a%b (模:取余):常用于判断奇数,偶数
  • ab(幂运算或者开房运算,如果是幂运算,则为大于0的整数,若为开放运算,则为小于1的小数,例如:30.5的意思为,根号三)

例如以下代码

a = 3
b = 2
s='''加{0}:减{1}:乘{2}:
除{3}:整除{4}:模{5}:幂{6}:'''.format(
a+b,a-b,a*b,a/b,a//b,a%b,a**b)
print(s)
print("===================")
a = 2
b = 3
s='''加{0}:减{1}:乘{2}:
除{3}:整除{4}:模{5}:幂{6}:'''.format(
a+b,a-b,a*b,a/b,a//b,a%b,a**b)

python代码学习——if 判断语句_第1张图片

赋值运算符

赋值运算符分为等于(=),加等于(+=),减等于(-=)

  • a=b 的意思就是a=b
  • a+=b 的意思是 a=a+b
  • a-=b 的意思是a=a-b

例如以下代码:

a=5
b=5
a+=10  #a=a+10
b-=4   #b=b-4
print("加等于的结果是{},减等于的结果是{}".format(a,b))

python代码学习——if 判断语句_第2张图片

比较运算符

比较运算符分为 > (大于)、<(小于)、 >=(大于等于) 、<=(小于等于)、 !=(不等于)、 ==(恒等于),其运算结果为:布尔值(True 和 False)
例如:以下代码,注意:“=”与“ ==”不是一个意思,一个在于赋值(=)每一个在于判断(==

a=5
b=10
print("a是否恒等于b?答:{}".format(a==b))
print("a是否恒小于等于b?答:{}".format(a<=b))
print("a是否恒大于等于b?答:{}".format(a>=b))
print("a是否恒不等于b?答:{}".format(a!=b))
print("a是否恒小于b?答:{}".format(ab))

python代码学习——if 判断语句_第3张图片

逻辑运算符

逻辑运算符有:或(or)、与(and)、非(not),其运算结果为布尔值(true和false),注意:真真为真(and),假假为假(or)。非一般与成员运算符(in)来结合使用
代码示例如下:

a=5
b=-6
print(a>0 and b>0)
print(a>0 and b<0)
print(a>0 or b>0)
print(a>0 or b<0)

python代码学习——if 判断语句_第4张图片

短路运算符

总结起来就两句话:

  • and 如果第一个表达式的结果为False,后面就没有必要计算了,这个逻辑表达式的结果一定是False
  • or 如果第一个表达式的结果为True,后面就没有必要计算了,这个逻辑表达式的结果你一定是True

成员运算符

成员运算符有:in/not in 元素范围,在/不在范围内,其返回值也是布尔类型

  • 成员运算符的判断是:元素 in/not in 范围,元素在/不在范围里面
  • 如果范围类型是列表,列表中可存在任一类型的元素,可使用下标判断元素在列表中是否存在,如果列表中包含元组或者字典,可使用嵌套方式来判断
  • 如果范围类型是字典,如果要判断字段中的value,需要使用字典名.value函数,因为字典的默认是判断key是否存在

其示例代码如下:

item_str = 'python'
item_list = [1,3,'python',[2.34,5,7],{"name":"yezi","class":"0017"}]
item_dict = {"sex":"gril","code":"200","url":"www.baidu.com"}
print("th 在字符串中吗?","th" in item_str ,"ll在字符串中吗?", 'll' not in item_str)
print("3 在列表中吗?",3 in item_list ," 2.34 在嵌套列表中吗?", 34 not in item_list[3]," yezi 是嵌套字典的值吗?", "yezi" not in item_list[4].values())
print("sex 是嵌套字典的键吗?","sex" in item_dict ,"200 是字典的值吗?", "200"  in item_dict)

python代码学习——if 判断语句_第5张图片

位运算符

& 位与
| 位或
~ 取反
^ 异或
<< 向左的位移
>> 向右的位移
  • 以上符号作用于数值转换为二进制数字
  • 例如:32//4 可以写成32>>2 后面的这个是将32转换为二进制之后,向右移动两位
  • 位运算符的计算方式,相见“java自学——类型转换”

身份运算符

  • is 是
  • is not 不是

问: is和==有什么区别
答:is需要判断内存地址,==只是判断两边数值的大小

空值判断

  • 当if或者while后面,跟**0,空字符串“”,空字典{},空元组(),空列表[]**时,可以直接进行逻辑判断,其结果为False
  • 当其信息为1,非空的字典、元组,列表,字符串时,其逻辑判断的结果为True,也可以说是字典、元组,列表,字符串是否存在

2.if判断语句

  • 控制语句:条件语句 循环语句
  • 条件语句:根据不同的条件,对不同的情况 做出不同的处理
  • if 关键字,注意不能用于命名
  • 必须掌握的,看到冒号就要知道:要换行,要缩进 注意重点
  • if 条件表达式:条件语句后面的值都是布尔值,其可以是比较运算符/成员运算符/逻辑运算符
  • if后面的表达式的值为True 才会执行下面的子语句
  • 如果存在多个判断,可使用if——elif——else来编写程序,elif后面和if一样,必须加条件
  • 所有为空的数据,为0的数据放在if后面,就会判断为False,所有非空的数据/非0的数据放在if后面就会自动的判断为True

例如:以下代码 :

count = 100
if count > 100  or  count  == 100: # 比较运算符  逻辑运算符
    print( "count 大于等于100" )

sun_str = "sun"
if "s" in sun_str:  #成员运算符
    print( " s 在字符串里面 " )

注意:所有为空的数据,为0的数据放在if后面,就会判断为False,所有非空的数据/非0的数据放在if后面就会自动的判断为True

i = []
j = 'python'
if i:
    print("True")
else:
    print("False")
if j:
    print("True")
else:
    print("False")

python代码学习——if 判断语句_第6张图片

如果存在多个判断,可使用if——elif——else来编写程序。
1.如果一个条件解决不了,可以存在多个elif。elif后面和if一样,必须加条件;
2. else后面不能加任何条件,只能跟冒号
3. 每个if语句中,else可以不存在,但是如果else存在的话,else只能有一个

item_list = [2.5,7,10,'python']
if 15 in item_list:
    print("True")
elif 'p' in item_list[3]:
    print("p在python中")
else:
    print("false")

python代码学习——if 判断语句_第7张图片

if的例题

例题1:一家商场正在降价促销,如果购买50-100原(包含50元和100元)之间,会给10%的折扣,如果购买金额大于100元会给20%的折扣,编写一个程序,询问购买价格,在现实折扣(10%或者20%)和最终价格。

#答案如下:
money = int(input("请输入购买价格:"))#使用input获取数据,因为从控制台获取为字符串,所以强制转换int型
if 50<= money <=100:
    print("您所需要付款的金额是:{},您享受的折扣是10%".format(money*(1-0.1)))
elif money >100:
    print("您所需要付款的金额是:{},您享受的折扣是20%".format(money*(1-0.2)))
else:
    print("您所需要付款的金额是:{},您不能享受折扣".format(money))

python代码学习——if 判断语句_第8张图片
例题2:有一个字典: {“广东”:[“深圳”,“广州”,“阳江”], “湖南”:[“长沙”,“益阳”,“怀化”], “湖北”:[“武汉”,“襄阳”,“黄冈”]},若你从控制台输入一个省份,根据你的省份判断 你可以选择哪些城市。 当你选择完毕后,就打印一个信息到控制台,告诉你,你选择了XX省份XX城市 。如果省份不存在 或者是城市不存在 那么就告诉你 你输入错误 终止程序

#答案如下:
city_dict = {"广东":["深圳","广州","阳江"], "湖南":["长沙","益阳","怀化"], "湖北":["武汉","襄阳","黄冈"]}  #字典赋值
shengfen = input("请输入一个省份:")  #input函数,从控制台获取输入的省份信息,赋值给变量
if shengfen in city_dict.keys():  #判断省份是字典的key
    city_list = city_dict[shengfen]  #如果是,输入字典的值,列表
    city = input("请输入一个城市") #input函数,从控制台获取输入的城市信息,赋值给变量
    if  city in city_list:  #判断省份是列表的值
        print("您选择的是{}省{}市".format(shengfen,city))  #如果是,输出省份和城市信息
    else:  #如果不是,输出程序结束
        print("您输入错误,终止程序")
else:#如果省份不是字典的key输出程序结束
    print("您输入错误,终止程序")

python代码学习——if 判断语句_第9张图片
思路:
第一步:因为要从输入城市,所以使用input函数,获取信息后复制给变量
第二步:判断省份在字典的key中是否存在,如果存在,使用input函数获取城市,如果不存在,给出省份不存在的提示信息
第三步:判断城市在字典的所选省份的value(注意value为列表)中是否存在,如果存在,输出选择的是哪个省,哪个市,如果不存在给出城市不存在的提示信息

if 的简写形式

  • 使用if语句,在条件比较简单的情况下,可以使用简写形式,简写代码的格式:
条件为真的执行语句 ifelse 条件为假的执行语句
  • 例子
data_1 = int(input("请输入一个数:"))
data_2 = int(input("请输入第二个数:"))
if data_1 >data_2:
    print(data_2,data_1)
else:
    print(data_1,data_2) 

等同于:
data_1 = int(input("请输入一个数:"))
data_2 = int(input("请输入第二个数:"))
print(data_2,data_1) if data_1 >data_2 else print(data_1,data_2)

你可能感兴趣的:(自学python,python,学习,开发语言)