8.30第三课笔记

第三课

1.算术运算符的优先级

'''
运算符
    算数运算符
        一元运算符: 正负号
        二元运算符
            加法 +
            减法 -
            乘法 *
            除法 /和//(整除)
            取余 %
            幂数 **

优先级  **幂数>负号>乘除余>加减
提高运算符的优先级使用()包含不管多少层都是()
'''
print(-2**2)
print((-2)**2)

print(-2*-4)

2.复合赋值运算符

'''
简单的赋值运算符
    =
        a=10[将等号右边的数据赋值给左边的变量名]
复合赋值运算符
    在进行赋值的时候先操作了算术运算
    +=
    -=
    *=
    /=
    //=
    %=
    **=

'''
num=125
num -=15       #num=num-15=125-15
print(num)


num %=4     #num=num%4=110%4
print(num)

num **=4    #num=num**4=2**4
print(num)

3.比较运算符

'''
比较运算符
    比较两个数据,判断大小
    > 判断前者是否大于后者
    > 判断前者是否大于或者等于后者
    < 判断前者是否小于后者
    < 判断前者是否小于后者或者等于后者
    == 判断前者是否等于后者
    != 判断前者是否不等于后者
    运算结果是布尔类型的只有true和false

    算数运算符优先级别高于比较运算符
'''
a=17
b=9
res=a+b>b*2
print(res)

#判断一个数据是否为偶数 (能被2整除)
num=17
res=num%2==0
print(res)

#判断个位数是否是7
res=num%10==7
print(res)

'''
1.判断十位数是否为 先处理成个位上的数===整除10    245//10=24
2.将处理后的结果对10取余      24%10=4
'''

# 判断一个数据是否是奇数  除以2余1
res = num % 2 == 1
print(res)

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

4.逻辑运算符

'''
逻辑运算符是来操作逻辑关系的
    逻辑与 and
        连接的条件必须同时成立(并且)结果才成立
    逻辑或 or
        连接的条件成立其中一个即可(或者)
    逻辑非 not
        对条件结果去反操作真变假,假变真
'''
# # #大学评奖学金要求成绩大于90绩点大于4.5
score=float(input('请输入成绩'))
gpa=float(input('请输入绩点'))
res=score>90 and gpa>4.5
print(res)
# # 输入一个数判断这个数是否是3的倍数也是7的倍数
num=int(input('请输入一个数'))
res=num%7==0 and num%3==0
print(res)

# #输入一个数判断这个数的十位是否是2的倍数并且个位是否是3的倍数
num=int(input('请输入一个数'))
res=(num%10%3==0 and num%10%3!=0) and (num//10%10%2==0 and num//10%10%2!=0)
 print(res)

'''
逻辑或 or
    条件 1 or 条件 2
    其中一个条件成绩即可
'''
'''
闰年:分为普通闰年和世纪闰年
    普通闰年能被4整除但不能被100整除

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

# #判断输入月份是否为第三季度
month=int(input('请输入月份呢'))
res=month==7 or month==8 or month==9
print(res)

#判断输入的数据是否是3或者5的倍数
num=int(input('请输入一个数'))
res=num%3==0 or num%5==0
print(res)

#判断输入的月份是否是30天
month=int(input('请输入月份'))
res= month==4 or month==6 or month==9 or month==11
print(res)

'''
逻辑非 not
    对逻辑结果取反 not 条件
    如果条件是成立 not 之后 结果就为false
    如果条件是不成立的 not 后 结果就是true
'''
#判断一个数是否为奇数
num=int(input('请输入整数'))
res=not(num%2==0)
print(res)

#判断一个数是否能被3或者7整除但是不能同时被3和7同时整除
num=int(input('请输入一个数'))
res=(num%7==0 or num%3==0) and not(num%21==0)
print(res)

#判断一个数是否不为正数
num=int(input('请输入一个数'))
res=not (num>0)
print(res)

#输入一个月份判断其是否在1-12之间
month=int(input('请输入一个月份'))
res=not((month<1)or(month>12))
print(res)

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

5.成员运算符

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

    整数 小数 布尔值 控制 每个数据都是独立的个体都不是容器型数据

    字符串是一个容器型类型元素是字符【长度为1的字符串被称为字符比如‘a’】
        字符串是由0或者多个字符串拼接起来的
            0个字符的情况下称为空字符串

    成员运算符in
        格式 数据in容器型数据
        逻辑 把数据当作一个整体,判断数据是否包含在容器中
        格式 数据not in 容器型数据
            判断是否不在容器中
'''
s='hello'
res= 'h' in s
print(res)

res= 'hl' in s
print(res)

res= 'hl'not in s
print(res)

6.分支结构化语句

'''
1.单分支结构
    在顺序流程过程中检测数据是否达到某个状态点如果达到这个状态点按照状态点的流程进行操作
    如果没有到达 按照原流程进行操作
2.双分支结构
    相当于十字路口,是向左还是向右
    语法:
        if 条件:
            满足条件执行操作
        else
        满足条件执行操作
2.多分支结构
    出现了三种极其以上的选择
    语法:
        if 条件1:
            操作一
        elif 条件2
            操作二
        elif 条件n
            操作n
        else:
            以上条件都不满足执行的操作

以上条件都不满足执行的操作'''

print('从学校出发')

#需要记录当前时间点
hour=17
#要求时间在18点之前进行洗车的操作
if hour <18:
    print('洗车店洗车')


print('回到家中')

#简单双分支例子
#做一个成绩判断器:判断是否及格
score=float(input('成绩:'))
if score>=60:
    print("及格")
else:
    print("不及格")

#多分支的案例
#给成绩分等级
score=float(input('请输入成绩'))
if score>=90:
    print("a")
elif score>=80:
    print("b")
elif score>=70:
    print("c")
elif score>=60:
    print("d")
else:
    print("e")


#超市活动购买金额不足180支付原金额在180以上打八折300以上打6折
p=int(input('请输入金额'))
if p>=300:
    print("需要支付",p*0.6)
elif p>=180:
    print("需要支付", p * 0.8)
else:
    print("需要支付",p)
#做一个数据比较其根据输入的两个数获取最大值
num1=int(input('请输入第一个数'))
num2=int(input('请输入第二个数'))
if num1>num2:
    print('第一数个大',num1)
else:
    print('第二数个大', num2)
#录入身高单位是m 体重单位是kg 计算一个人bmi值判定身材情况
h=float(input('请输入身高(米)'))
w=float(input('请输入体重(kg)'))
bmi=w/(h*h)
if bmi>24.9:
    print('偏胖')
elif bmi>18.5:
    print('正常')
else:
    print('偏瘦')
#模拟用户登录:录入用户名与密码如果用户名为admin 密码为123456asd则提示登录成功否则登录失败
z=input('请输入用户名')
m=input('请输入密码')
if ('admin'in z) and ('123456asd'in m):
    print('登陆成功')
else:
    print('登陆失败')

'''
分支语句嵌套
    在满足某个条件的基础上还需要再次进行逻辑判断
'''
'''
需求:
    计算加油的金额
    因为油号不同 价格不同 优惠也是不一样
    92 单价8元/L 添加30L八折处理否则原价处理
    95 单价8.8元/L 添加25L八折处理否则原价处理
    98 单价9.5元/L 添加20L九折   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:
    # pass  # 代码块必须有内容  当前没有写逻辑可以使用pass占位
    if litre >= 25:
        payment = 8.8 * litre * 0.8
    else:
        payment = 8.8 * litre
else:
    # pass  # 空白代码块的占位符
    # if litre >= 30:
    #     payment = 9.5 * litre * 0.8
    # elif litre >= 25:
    #     payment = 9.5 * litre * 0.85
    # elif litre >= 20:
    #     payment = 9.5 * litre * 0.9
    # else:
    #     payment = 9.5 * litre
    if litre < 20:
        payment = 9.5 * litre
    elif litre < 25:
        payment = 9.5 * litre * 0.9
    elif litre < 30:
        payment = 9.5 * litre * 0.85
    else:
        payment = 9.5 * litre * 0.8

print(oil_num, '号油添加', litre, '升的油价是', payment)

7.循环

'''
循环:周而复始重复做同一件事情
    一直重复操作没有终止在编程里被称为死循环(要避免)
    常见循环结束状态;
        1.循环满n次
        2.循环达到某个条件
    python中提供两个结构
    1.for-in 循环(适合循环满N次的情节)
        本质上是在遍历【逐个获取】容器型数据在遍历获取元素的过程中进行
        相应的逻辑判断
        容器型数据中有几个元素这个循环就执行几次
        语法;
            for 变量名 in 容器型数据
                循环体
        解读
            in 可以理解成进入容器中拿元素数据
            变量名 in 进入拿到数据之后 赋值给变量名
            循环结束点 in 到容器中 没有数据可拿的时候循环结束

    2.while循环
'''
s='hello'
#逐个将字符串s中的元素取出来
for ch in s:
    print(ch)


#获取字符串中小于l的字符
#逻辑 获取到元素后进行判断 判断是否小于l
for ch1 in s:
    if ch1 <'l':
        print(ch1)

#跑100圈 使用循环可以使用range快速生成一个等价数列
'''
range(stop)
    设定一个结束值,等差数列是从0开始 步长为1到stop【不包含】结束
        range(10)===>0 1 2 3 4 5 6 7 8 9
range(start,stop)
     设定一个起始值 从start开始 步长为1到stop[不包含]结束
    
range(start,stop,step)
    step步长
        正数--生成递增等差数列  起始>结束
        负数--生成递减等差数列  起始>结束
'''
for i in range(100):
    print(i)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值