day 3

day 3

一、定义变量和给变量赋值的原理

​ python定义变量的时候,需要在申请内存,内存申请多大看数据需要多大,然后将数据保存到内存中再和变量进行关联。
​ 重新给变量赋值的时候,会重新申请内存,新的内存的大小由新的。

a=10
print(id(a))

a=100
print(id(a))
二、数学运算符
数学运算符: + - * / % // **
1. + - * /
print(2 + 5)
print(2 - 5)
print(2 * 5)
print(2 / 5)

注:+ - * 如果运算对象中有浮点数,结果就是浮点数;如果都是整数,结果就是整数

print(2.0 + 5)

注:除法运算的结果一定是浮点数

print(5 / 2)
print(4 / 2)
2. %(取余/取模)
x%y --用x除以y的余数:
print(10 % 3)
print(15 % 6)
  • 应用一:判断一个数是否能被另外一个数整除,就看两个数的余数是否为0

  • 应用二:取整数的低位数:对10或者10的幂次方取余

    num=126
    #获取num的各位数
    print(num%10)
    print(42423%10)
    print(2414%10)
    print(4324%100)
    print(4324%1000)
    print(32432//100%10)
    print(32435//1000%10)
    
3.//整除 --求商,商向下(小)取整
x//y
print(5/2)
print(5//2)
print(3.8//2)
print(-5//2)
  • 应用:去掉低位数

    print(42442//10)
    print(42442//100)
    

    方法一:先整除再取余

    num=230768
    print(num%10)
    print(num//10%10)
    print(num//100%10)
    print(num//1000%10)
    print(num//10000%10)
    print(num//100000%10)
    

    方法二:先取余再整除

    print(num%100)
    print(num%100//10)
    print(num%1000//100)
    
4. **(幂运算)
x ** y --> 求x的y次方
print(3 ** 5)
print(16 ** 0.5)
print(8 ** (1/3))
print(2 ** (-3))
三、比较运算符

比较运算符: > < >= <= == !=

1.python中比较运算符所有的结果都是布尔值
print(10 > 20)
print(10 == 20)
print(5 >= 5)
2.python 可以直接通过比较运算符来表示范围
x = 8
print(0 <= x <= 10)
print(x >= 0 and x <= 10)
四、逻辑运算符

逻辑运算符: and(逻辑与运算) or(逻辑或运算) not(逻辑非运算)

1.and
  • 应用场景:用于需要多个条件同时成立的时候,相当于生活中的并且
  • 运算规则: 条件1 and 条件2 – 两个条件都是True,结果才是Ture;只有一个是False结果就是False

练习:判断num是否能同时被3和5整除
原始条件:能同时被3和5整除
条件1:能被3整除 num % 3 ==0
条件2:能被5整除 num % 5 ==0

num = 15
print(num % 3 == 0 and num % 5 == 0)

练习:写出是否可以获取奖学金的条件 --绩点不低于3.5并且操评分高于90分

gpa = 4.0
score = 89
print('gpa = 4.0;score=89 是否可以获取奖学金:', gpa >= 3.5 and score > 90)
2.or(逻辑或运算)
  • 应用场景:用于需要多个条件只要有一个吗安祖就可以的情况,相当于生活中的或者
  • 运算规则:条件1 or 条件2 - 两个条件只要有一个是True结果就是True,两个都是flase结果才是flase

判断v保存的数据是否是数字数据
数字数据 分为整数和浮点数

v = 89
print(type(v) == int or type(v) == float)

练习:中奖规则:十位数是0的基数号,或者是个位数+十位数是2的号

num = 111
print((num // 10 % 10 == 0 and num % 2 != 0) or ((num % 10) + (num // 10 % 10) == 2))
3.not(逻辑非运算符)
  • 应用场景:(对一个条件进行否定)当一个条件正向写的时候很复杂,反向写很简单的时候,条件就反向写再加not

  • 运算规则:not 条件

    age = 20
    print('大于等于18:', age >= 18)
    print('大于等于18:', not age >= 18)
    print('大于等于18:', age <= 18)
    

练习:写出num不能同时被3和7整除的条件
正向写:
情况1:能被3整除不能被7整除
情况2:能被7整除不能被3整除
情况3:既不能被3整除也不能被7整除

反向写:
not 能同时被3和7整除

五、赋值运算符

赋值运算符 = += -+ *= /= %= //= **=

  • 所有赋值运算符的功能都是将数据直接或者间接存储到一个变量中,不会产生任何结果
    语法:变量 赋值运算符 数据
    重要的结论:赋值运算表达式没有结果的

  • 复合的赋值运算符:+= -+ *= /= %= //= **=
    语法:变量 += 数据

    先把变量中的数据提出来与后面的数据进行运算得到一个结果,再把最新的结果存储到变量中

    注意:前面的变量必须是已经赋值或定义初始值的变量
  • 运算符的优先级
    数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)
    数学运算符中: ** > *、%、/ 、 // > + -
    有括号先算括号里面的 ()

六、分支结构
1.流程控制 -程序执行方法

1)顺序结构(默认) - 代码从上往下执行,每条语句执行一次
2)分支结构 - 根据条件选择执行或者不执行相关操作
3)循环结构(for 、while) - 让代码重复执行

2.if 语句

1)if单分支结构-- 满足一个条件就执行某个操作,不满足就不执行

  • 语法:
    if 条件语句:
    代码段
  • 说明:
    if —关键字;固定写法
    条件语句 -任何有结果的表达式,例如:具体数据、保存数据的变量、运算表达式(赋值不可以)等。
    : — 固定写法
    代码段 ----从结构上就是和if保持一个缩进的一条或者多条语句;代码段就是满足条件的时候才执行的代码
  • 执行过程:先判断条件语句是否True,如果成立就执行代码段,然后再执行后面其它代码;如果为Flase,不执行代码段,直接执行其它代码
    注意:如果条件语句的结果不是布尔值,就转换成布尔再看。(其它数据转换成布尔是,除了零值和空值,都是True)

练习1:如果num是偶数就打印偶数

num = 3213
方法1if num % 2 == 0:
    print(num, '是偶数')

方法2if num % 2:
    print('偶数')
else:
    print('奇数')

练习2:根据年龄值打印’成年’

age = 23
if age >= 18:
    print('成年')

练习3:判断指定的年是否是闰年

year = 2004
if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
    print(year, '是闰年')

2)if 双分支结构 - 满足条件执行某个操作,不满足时候执行另外一个操作

  • 语法:
    if 条件语句:
    代码段1(满足条件执行的代码)
    else:
    代码段2(不满足条件执行的代码)

判断输入的年份是否是闰年:

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

else:
    print('不是闰年')

3)if 多分支结构 - 根据不同的条件做不一样的事情

  • 语法:
    if 条件1:
    代码段1
    elif 条件2:
    代码段2
    elif 条件3:
    代码段3
    .
    .
    .
    else:
    代码段N

    注意:后面的条件是在前面的条件不成立的情况下执行,所有条件都不成立时才执行else中的代码

根据成绩判断优秀程度:

score = int(input('请输入分数:'))
if score >= 90:
    print('A')
elif score >= 80 and score < 90:
    print('B')
elif score >= 70 and score < 80:
    print('C')
elif score >= 60 and score < 70:
    print('D')
else:
    print('成绩不及格')

练习: 根据年龄值打印 ‘儿童’、‘少年’、‘青年’、‘壮年’、‘中年’、‘老年’
儿童 - 12岁以下
少年 - 12 ~ 18
青年 - 18 ~ 28
壮年 - 28 ~ 40
中年 - 40 ~ 60
老年 - 60以上

age = int(input('请输入年龄:'))
if age <= 12:
    print('儿童')
elif age <= 18:
    print('少年')
elif age <= 28:
    print('青年')
elif age <= 40:
    print('壮年')
elif age <= 60:
    print('中年')
else:
    print('老年')
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值