运算符与if语句

276 阅读3分钟

算数运算符

# -*- coding:utf-8 -*-
print(1+2+4*4*5+(8-1)/7+8-9)
print((8-1)/7)  # / 返回浮点型

a = 1
b = 2
a,b,c,d = 1, 2,3,4,
print(a,b,c,d)

a = 1
a += 1 # =赋值的 等价于 a= a+1
print(a)
#+= -= *= /= //= %= **=

比较运算符

数学中表示形式:

       < > =  ≠

程序中表示形式

= 代表赋值

    `  < > == !=  <= >=`
print(3 == 3)#正确的 真的
print(3 > 3)#错误的 假的
print(3 >= 3)

逻辑运算符

and

or

nor

a = 2
b = 0.0

怎么去检测一个值的布尔值

print(bool(a))
print(bool(b))

在数值类型中 除了0 0.0 0.00 0.000等等为0的数的布尔值为F 其他的都是T

c = '1'
d = ''
e = ' '
print(bool(c))
print(bool(d))
print(bool(e))

在字符串类型中 除了空字符串为F 其他的字符串的布尔值全都为T

""
''
本质上没有区别
需要把注意的是 我们的引号 都是成对出现的且找的是最近的
print("asd'asd'asd")

and

如果a为False a abd b 返回False

 a = True
 b = True
 c = False
 d = False
 print(a and b)
 print(b and c)
 print(a and c)

or

如果a为True a or b 返回True False or True 返回True

print(a or b)
print(b or c)

a = 1
b = 2
c = 0
d = ''
print(a and d)
print(True and False)
print(d or b)
print(b and c)
print(True and False)
print(b or c)

not

如果b为True,notTrue返回False;not False 返回True

num = 10
if num % 2 == 0 and num % 3 == 0 or num % 5 == 0:
    pass

运算符优先级

04cc0fa14985600070ba0f278ddca9f.png

成员运算符

in

如果在指定的序列中找到值返回 True,否则返回 False;x在y序列中,如果想在y中返回True.

not in

如果在指定的序列中没有找到值返回True,否则返回False。

x不在y序列中,如果x不在y序列中返回True。

a = 10
b = 20
list1 = [1,2,3,4,5] #列表 元素集合
print(a in list1)
print(a not in list1)

身份运算符

is

is是判断两个标识符是不是引用自一个对象

x is y,类似id(x)== id(y)

如果引用的是同一个对象则返回结果True,否则返回False

is not

is not 是判断两个标识符是不是引用自不同对象

x is not y,类似id(x)!= id(y)

如果引用的不是同一个对象则返回结果True,否则返回False

a = 20
b = 20
print(id(a),id(b))
print(a is b)

c = [1,2,3,4,5,6]
d = [1,2,3,4,5,6]
print(id(c),id(d))
print(c is d) #比较的是内存地址
print(c == d) #比较的值的大小

存在一个可变与不可变的数据类型 简单了解就行

if语句

age = int(input("请输入你的年龄:"))'''
 if age < 18:    # int  #条件age < 18

    #当我的条件满足时会执行
     print('你没有成年!')
     print('我很好')  #tab键会缩进
#四个空格 缩进  疏通代码结构的 

if age < 18:
    print('我没有成年')
else:
    print('我已成年了!')
#输入1 连连看
#输入2 消消乐
#输入3 贪吃蛇
#输入4 推箱子
game = int(input("请输入你想玩的游戏:"))
if game == 1:
    print("已经打开连连看,请开始游戏")
elif game == 2:
    print("已经打开消消乐,请开始游戏")
elif game == 3:
    print("已经打开贪吃蛇,请开始游戏")
elif  game == 4:
    print("已经打开推箱子,请开始游戏")
else:
    print("没有这个游戏...")

多重判断

age = int(input("请输入年龄:"))
if age < 18:
    print("童工,不合法!")
elif 18 <= age <= 60:
#age >= 18 abd age <= 60 化简为 18 <= age <= 60
    print("合法工龄")
elif age > 60:
    print("退休年龄")

else 是不用加条件的 else表示的是除了上面的if elif条件之外的所有条件

print(18 < 18.5)

if嵌套

#动漫游戏机

money = int(input("请投币:"))#(1投币 0没有)
if money ==1:
    print("已投一币 还需一币")
    coins = int(input("是否投第二个币:"))
    if coins ==1:
        print("已投2币 请按开始游戏")
        choose = int(input("是否选择游戏模式:"))
        if choose == 1:
            print("选择游戏一般模式")
            game = int(input("游戏是否准备开始:"))
            if game == 1:
                print("开始游戏")
                prize = int(input("是否中奖:"))
                if prize == 1:
                    print("恭喜你中奖了!")
                    gift = int(input("是否选择礼物或者免费再来一局:"))
                    if gift == 1:
                        print("选择礼物")
                        fall_out = int(input("选择礼物几号:"))
                        if fall_out == 1:
                            print("选择兔子吧!")
                        else:
                            print("选择盲盒吧!")
                    else:
                        print("免费再来一局!")
                else:
                    print("很遗憾没有中奖")
                    print("再来一局吧!")
            else:
                print("等待15秒")
        else:
            print("随机选择")
    else:
        print("还差一币呢!")
else:
    print("没投币 请买币")

print("游戏结束,再来一局吧!")

#坐公交

num = input('请输入你有没有钱:(1有2无)')
if num == '有':
    print('请上车')
    standing = input('请输入现在有无座位(1有2无)')
    if standing == '有':
        print('请坐下')
    elif standing == '无':
        print('没有座位了,请站好!')
else:
    print('对不起你太穷了,你上不了车!')
print('祝您生活愉快!再见!')

三目运算(三元运算符或三元表达式)

条件成立执行的表达式if 条件else不成立执行的表达式

a = 1
b = 2
if a > b:
    print(a,'大')
else:
    print(b,'大')
'''用于处理比较简单的if判断'''
c = a if a > b else b
'''这里的a代表条件为真执行的代码 b代表条件为假执行的代码'''
print(c)