Python——day02

运算符:

算术运算符
   
        一元运算符: 正负号  +17   -89
        二元运算符
            加法 +
            减法 -
            乘法 *
            除法 /  和 //
            取余 %
            幂数 **
        优先级别  **幂数>负号>乘、除、余> 加减
        提高运算符优先级别 使用()包含
   

复合赋值运算符


        1. =
            a =10 [将等号右边的数据赋值给左边的变量名]
        2. 在赋值之前,先进行算术运算
            += 、 -= 、*= 、/= 、 //= 、 %= 、 **=
                eg:

                    num = 100
                    num -= 5
                    print(num)
                    #输出结果:95  (==> num = num-5 = 100 - 5 = 95)

                    num = 95
                    num %= 4
                    print(num)
                    #输出结果:3    (==> num = num%4 = 95 % 4 = 3)

    比较运算符


        涵义: 比较两个数据的大小
            > 判断前者是否大于后者
            >= 判断前者是否大于或等于后者
            < 判断前者是否小于后者
            <= 判断前者是否小于或者等于后者
            == 判断前者是否等于与后者
            != 判断前者是否不等于后者
        比较运算符运行结果是布尔类型,结果只有两个值True或Flase
        *算术运算符优先级别高于比较运算符

                eg:

                    a = 10
                    b = 5
                    res = a + b > b *2
                    print(res)
                    #输出结果:True


                # 判断一个数据是否为偶数 偶数:能被2整除【除以2余数为0】
                eg:
 

                   num = 17
                    res = num % 2 == 0
                    print(res)


                #判断一个数的个位数是否为7
                eg:

                    num = 17
                    res = num % 10 ==7
                    print(res)
                    #输出结果:True


                #获取十位上的数据
                eg:

                    num = 245
                    res = num //10
                    res = res % 10
                    print(res) #输出结果: 4


                #获取百位上的数据
                eg1:

                    num = 357
                    res = num // 100
                    print(res)
                    # 输出结果: 3


                eg2:

                    num = 4857
                    res = num // 100
                    res = res % 10
                    print(res)
                    # 输出结果: 8


                #判断一个数据是否是奇数  除以2余1
                eg:

                    num = 17
                    res = num % 2 == 1  #方法1:余数为1即为奇数
                    print(res)
                    #True
                    res = num % 2 != 0  #方法2:余数不等于0即为奇数
                    print(res)
                    #True


   逻辑运算符


         比较运算符优先级高于逻辑运算符
        逻辑运算符中 not > and > or
        涵义:
            用来操作逻辑关系的
        逻辑 与 and
            连接的条件必须同时成立[即条件之间的关系是并且的关系],结果才回会成立
        逻辑 或 or
            链接的条件成立其中一个即可[条件之间的关系是或者关系]
        逻辑 非 not
            对条件结果进行取反操作,真变假,假变真。
            对逻辑结果取反: not 条件
            如果条件是成立的 not之后 结果就为False
            如果条件是不成立的 not之后 结果就是True
        eg(且):

            sorce = float(input('请输入平均成绩:'))
            gpa = float(input('请输入绩点:'))
            res = sorce > 90 and gpa > 4.5
            print(res)


        eg(或):
            闰年: 分为普通闺年和世纪闺年
                普通闰年: 能被4整除但是不能被100整除2020年
                世纪闺年:能被400整除、2000年
                普通闺年和世纪闺年满足其中一个要求 就是闺年

           

 year = int(input('请输入年份:'))
            res = (year % 4 == 0 and year % 100 != 0) or (year % 400 ==0)
            print(res)


        eg(非):
            #判断一个数是否为奇数
           

 num = float(input('请输入一个整数:'))
            res = not(num % 2 ==0)
            print(res)


            # 判断一个数是否能被3或者7整除 但是不能同时被3和7整除

num = float(input('请输入一个整数:'))
res = (num % 3 == 0 or num % 7 == 0) and not(res = num % 3 == 0 and num % 7 == 0)


#区间形式的范围判断 month >= 1 and month <= 12
# python可以对其进行简写

    res = 1 <= month <= 12

    成员运算符


        成员: 众多中的一个
        是应用在一个容器型数据的元素判断的
        判断数据是否在某个容器型数据中

        整数、小数、布尔值、空值 每个数据都是独立的个体,这些都不是容器型数据
        字符串是一个容器型类型,元素是字符[长度为1的字符串称为字符, 比如'a','0','']
            0个字符的情况下 称为空字符串     ''  [空箱子]
        成员运算符 in
            格式:     数据  in 容器型数据
            逻辑:     把数据当作一个整体,判断数据是否包含在容器中

        eg:

        s = 'hello'
        res = 'h' in s
        print(res) #True
        res = 'hl' in s
        print(res) #Flase
        res = 'hl' not in s
        print(res) #True


练习:
1.输入一个数 判断这个数是否是3的倍数 并且也是7的倍数

    num = float(input('请输入一个数:'))
    res = num % 3 == 0 and num % 7 == 0
    print(res)


2.输入一个数 判断这个数的十位是否为2的倍数 并且 个位是否是3的倍数

num = float(input('请输入一个数:'))
shiwei = num // 10 % 10
gewei = num % 10
res = (shiwei % 2 == 0 and shiwei != 0) and ( gewei % 3 == 0 and gewei != 0)
print(res)



1.判断输入的数据是否是3或者5的倍数

num = float(input('请输入一个数:'))
res = num % 3 == 0 or num % 5 == 0
print(res)


2.I 判断输入的月份的天数是否是30天
1.

month = int(input('请输入一个月份:'))
if month in [4, 6, 9, 11]:
    print('该月30天')
elif month in [1, 3, 5, 7, 8, 10, 12]:
    print("该月有31天")
elif month == 2:
    print("该月28天")
else:
    print('输入月份有误')


2.

month = int(input('请输入30天的月份:'))
res = month == 4 or month == 6 or month == 9 or month == 11
print(res)


1,判断一个数是否不为正数

num = float(input('请输入一个数:'))
res = not(num >0)
print(res)


2.输入一个月份 判断其是否在 1-12之间

num = int(input('请输入一个月份:'))
res = not(num < 1) and not(num > 12)
print(res)


流程控制语句: 通过代码逻辑控制程序的执行流程

程序的流程有3种情况


    1.顺序结构语句
        特点: 代码会从第一行到最后一行逐行运行[每条语句都会执行到]
    2.分支结构语句
        特点: 按照逻辑条件满足与否,决定逻辑操作是否运行 [比如游戏星星数达到3颗才能进入下一关]
    3.循环结构语句
        特点:没有满足某个条件,就需要一直执行相应的逻辑操作
'''
'''
1.单分支结构
        在顺序流程中  监测数据是否达到某个状态点
        如果达到这个状态点按照状态点的流程进行操作
        如果没有达到的话  按照原流程进行操作

        语法:
            if 条件:
                    满足条件执行的操作
            解读: 如果满足 就执行相应的操作
            注意: 相应的操作的执行 要看条件是否满足 体现这种关系使用的是代码块包含的结构
            Python中如何体现代码块包含:   使用冒号+四个空格的缩进【一般编辑器会默认一个Tab键】

            print('从学校出发')
            hour =17
            if hour < 18 :
                print('洗车店洗车')
            print('回到家中')


2.双分支结构
        相当于十字路口,向左向右
        语法:
            if 条件:
                满足条件执行的操作
            else:
                不满足条件执行的操作
            解读:
                如果条件满足 做事情A 否则做事情B

            score = float(input('成绩'))
            if score >=60:
                print('及格')
            else :
                print('不及格')

3.多分支结构
        出现了三种及其以上的选择
        语法:
            if 条件1:
                操作1
            elif 条件2:
                操作2
            else:
                以上条件都不满足 执行的操作

        else语句可以省略
        elif === else if
        如果与否则是对立面,执行了如果,就不会执行否则

        score = float(input('请输入成绩'))
        if score >= 90:
            print('a')
        elif score >= 80:
            print('b')
        elif score >= 70:
            print('c')
        else:
            print('d')
1. 超市活动,购买金额不足180,支付原金额,在180以上 打8折, 金额在300以上打6折 
    录入购买金额,计算出支付金额
money = float(input('购买金额为:'))
if money >= 180:
    print('应支付金额为:',money * 0.8)
elif money >= 300:
    print('应支付金额为:',money * 0.6)
else:
    print('应支付金额为:',money)
2. 做一个数据比较器:根据输入的两个数 获取其中的最大值
num1 = float(input('录入第一个数字为:'))
num2 = float(input('录入第二个数字为:'))
if num1 > num2:
    print('两者中最大的数为:',num1)
elif num1 < num2:
    print('两者中最大的数为:',num2)
else:
    print('两个数相等')
3. 录入身高(单位是m)、体重(单位是kg),计算一个人的BMI值,判定身材状况 
        BMI小于 18.5 偏瘦
        BMI在18.5到24.9之间正常
        BMI大于24.9 偏胖

weight = float(input('体重为(kg):'))
height = float(input('身高为(m):'))
BMI = weight / (height ** 2)
if BMI > 24.9:
    print('偏胖')
elif 18.5 <= BMI <= 24.9:
    print('正常')
else:
    print('偏瘦')
4. 模拟用户登录:录入用户名与密码,如果用户名为admin 密码为123456abc 则提示登录成功 否则提示登录失败
button = 'admin'
password = '123456abc'
num1 = input('录入用户名')
num2 = input('录入密码')
if num1 in button and num2 in password:
    print('登陆成功')
else:
    print('登陆失败')

分支语句嵌套


    在满足某个条件的基础上还需要再次进行逻辑判断

pass
# 代码块必须有内容 当前没有写逻辑可以使用pass占位


eg:
 需求:
计算加油的金额
因为油号不同 价格不同 优惠也是不一样
92 单价8元/L 添加30L及其以上 打8折 否则按照原价处理
95 单价8.8元/L 添加25L及其以上 打8折 否则按照原价处理
98 单价9.5元/L添加20L及其以上 打9折 25L及其以上8.5折30L及其以上8折 否则按照原价处理

oil_num = int(input('请输入油号:'))
litre = float(input('加油的升数(L):'))
if oil_num == 92:
    if litre >= 30:
        payment = 8 * litre * 0.8
    else:
        payment = 8 * litre
elif oil_num == 95:
    if litre >= 25:
        payment = 8.8 * litre * 0.8
    else:
        payment = 8.8 * litre
else:
    if litre >= 30:
        payment = 9.5 * litre * 0.8
    elif litre >= 25:
        payment = 9.5 * litre * 8.5
    elif litre >= 20:
        payment = 9.5 * litre * 0.9
    else:
        payment = 9.5 * litre
print(oil_num, '号油添加',litre,'升的油价是',payment)

循环:


​​​​
周而复始 重复做同一件事
    一直重复操作,没有终止,在编程里称为死循环 [在程序中是要避免的--- 程序卡死)
    常见的循环结束状态:

        1.循环满N次  比如:围着操场跑20圈
        2.循环达到某个条件  比如:  跑满一千米
    Python提供的循环操作,有两个结构:
        1. for-in循环, 适用于循环满N次情景
            本质上是在遍历[逐个获取]容器型数据,在遍历获取元素的过程中进行相应的逻辑判断
            容器型数据中有几个元素,这个循环就执行几次
                语法:
                    for 变量名 in 容器型数据
                        循环体
                解读:
                    in 可以理解为进入容器拿数据
                    变量名  in进入容器拿到数据后  赋值给变量名
                    循环结束点:  in到容器中 没有数据可拿

eg:

s = 'hello'
# 逐个将字符串s中的元素取出来
for ch in s:
    print(ch)
    # print('跑了一圈')


# 获取字符串中小于l的字符
# 逻辑 获取到元素之后 要对其进行判断  判断是否是小于l的
for ch1 in s:
    if ch1 < 'l':
        print(ch1)
"""
range(stop)
    设定一个结束值, 等差数列是从0开始 步长为1 到stop[不包含]结束
        range(10) ====> 0 1 2 3 4 5 6 7 8 9 
range(start, stop)
    设定了起始值和结束值 等差数列是从start[包含]开始 步长为1 到stop[不包含]结束
        range(1, 11) ====> 1 2 3 4 5 6 7 8 9 10 
range(start, stop, step)
    step步长  
        正数 --- 生成的是递增的等差数列  要求 起始值<结束值    
        负数 --- 生成的是递减的等差数列  要求 起始值>结束值
    stop结束位置[不包含]
    start开始位置[包含]
        range(1, 10, 2) ====> 1 3 5 7 9 
        range(10, 0, -2) ====> 10 8 6 4 2 
range(100) ===> 0-99
"""

eg:

for ele in range(1, 101):
    print('跑第', ele, '圈')
for ele1 in range(0, 100, 5):
    print(ele1)

        2.while 语句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值