day02 变量和运算符

day02 变量和运算符

  1. 回顾
  • 基础语法
    • 注释:单行注释, 多行注释
    • 行和缩进
    • 基本数据和数据类型
      • 数字, 文本, 布尔, 空值
      • 查看类型, 类型转换
  • 输入和输出函数
    • 输出函数print()
      • 基本使用, 一行多数据输出, 定制end, 定制sep
    • 输入函数input()
      • 输入提示, 获取到的数据是字符串, 类型转换与input()的结合
  1. 变量
  2. 概念: 保存数据(的容器)

先将数据存到变量,再使用变量来使用数据

  1. 定义(创建)变量: 计算数据长度, 识别数据类型(python), 申请内存空间, 数据保存到内存空间, 内存空间关联变量
"""
语法:	变量名 = 数据

说明:
a.变量名:
		要求:是标识符(day01)不是关键字;
		规范:见名知意,不使用系统函数名/类名/模块名,所有字母小写,多个字母间下划线隔开(驼峰命名法也可以)
b.=: 赋值符号
c.数据:任意有结果的表达式,例如-具体数据,有结果的运算表达式, 已经赋值过的变量
"""

dog_name = '财财'     # PEP8命名规范
dogName = '旺财'      # 驼峰命名法

注意:如果使用系统函数名/类名/模块名给变量命名,会导致他们本身的功能消失

  1. 使用变量

使用变量中保存的数据

x, y = 100, 200
print(x, y, x + y)
  1. 重新给变量赋值

覆盖原数据, 不受类型限制

xx = 100
print(xx)
xx = 'abc'
print(xx)
  1. 同时定义多个变量

    • 多个变量赋相同的值:变量名1 = 变量名2 = 变量名3 = … = 数据

      x1 = x2 = x3 = 100
      print(x1, x2, x3)
      
    • 同时定义多个变量赋不同的值:变量名1, 变量名2, 变量名3, … = 数据1, 数据2, 数据3, …

      y1, y2, y3 = 10, 20, 30
      print(y1, y2, y3)
      
    • 应用:交换变量的值

      万能法:加中间变量

      python:变量1, 变量2 = 变量2, 变量1

      m, n = 10, 20
      m, n = n, m
      print(m, n)
      
  2. 定义变量和给变量重新赋值的底层原理
  3. 为什么python定义变量不需要写类型?

    python定义变量内存申请多大看数据需要多大,不看类型

  4. 为什么重新赋值的时候可以赋不同类型的值?

    重新赋值的时候会重新申请新的内存

  5. 为什么python可以直接计算99999999?**

    申请内存的时候会先提前计算存储这个数据需要多大内存,需要多大就申请多大

    内存空间要多大,就看转换成二进制有多少位

  6. 补充1:获取内存地址的工具:id(变量)

    x = 100
    print(id(x))
    
    x = 2000
    print(id(x))
    
    x = '100'
    print(id(x))
    
  7. 补充2:计算机内存单位

    位(bit)(计算机内存最小单位)
    1字节(bytes)(内存申请最小单位) = 8位
    1kb = 1024字节
    1Mb = 1024kb
    1Gb = 1024Mb
    1Tb = 1024Gb

  8. 数学运算符
数学运算符意义
+
-
*
/
%取余, 取模, 模运算
//整除
**幂运算
  1. *+, -, , /:和数学中一样

注意: +, -, * 操作,如果操作数据中有浮点数结果就是浮点数,都是整数结果就是整数

​ / 的结果一定是浮点数

print(5 + 2)
print(5 - 2)
print(5 * 2)
print(5 / 2)
  1. % - 取余, 取模(求余数)
print(10 % 3)
  • 应用场景1: 判断整除关系 - 余数是否为0
num = 21
print(num % 2 == 0)
  • 应用场景2:取整数的低位数 - 对10或者10的N次幂取余
num = 3259
print(num % 10)
print(num % 100)

print(-10 // 3)     # 向小取整 -4
print(-10 % 3)      # 与整除搭配 2
  1. // - 整除(对非整除商向小取整)
print(5 // 2)
print(-5 // 2)
print(5 // -2)
print(-5 // -2)
print(int(-5 / 2))      # 去尾取整
print(5.2 // 2.5)       # 2.0
print(-5.2 // 2)        # -3.0
  • 应用场景1:(在知道两个数能整除的情况下)获取整型的商
print(8 / 2)
print(8 // 2)
  • 应用场景2:整数去掉低位数,保留高位数 - 对10或者10的N次幂进行整除操作
num = 324
print(num // 10)
print(num // 100)
  • 练习
num = 367892
print('十位:', num // 10 % 10)
print('百位:', num // 100 % 10)
print('十位:', num % 100 // 10)
print('百位:', num % 1000 // 100)
  1. * - 幂运算(优先级高)*
print(2 ** 3)
print(2 ** -1)      # 0.5
print(4 ** 0.5)   # 2.0
print(8 ** (1/3))   # 2.0
print((-4) ** 0.5)  # 复数
  1. 比较运算符

格式化代码:ctrl + alt + l

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

  1. 所有比较运算符的运算结果都是布尔值
print(10 > 30)
print(10 >= 10)
print(10 == 20)
print(10 <= 20)
print(10 != 20)
  • 判断能否被4整除
num = 25
print(num % 4 == 0)     # False
  • 判断是否是浮点数
num = 2.31
print(type(num) == float)       # True
  • 判断是否成年
age = 23
print('是否成年:', age >= 18)
  1. python的比较运算符支持连写表示范围
num = 2
print(0 < num <= 1)
  1. 逻辑运算符

逻辑运算符: and, or, not

  1. and - 逻辑与运算
"""
1)应用场景: 用于连接要求同时满足的多个条件, 相当于生活中的并且
2)运算规则: 条件1 and 条件2 - 两个条件都是True,结果就是True,只要一个是False结果就是False
            True and True       ->  True
            True and False      ->  False
            False and True      ->  False
            False and False     ->  False
"""
  • 获得奖学金的条件:绩点不低于3.5,并且操评分大于90
gpa = 3.5
score = 95
print('是否能获取奖学金:', gpa >= 3.5 and score > 90)
print('是否能获取奖学金:', not (gpa < 3.5 or score <= 90))
  • 练习1:判断num是否能够同时被3和7整除
num = 23
print('num是否能够同时被3和7整除:', num % 21 == 0)
print('num是否能够同时被3和7整除:', num % 3 == 0 and num % 7 == 0)
print('num是否能够同时被3和7整除:', not (num % 3 != 0 or num % 7 != 0))
  1. or - 逻辑或运算
"""
1)应用场景: 如果两个或多个条件中有一个满足就行, 用or来连接这些条件,相当于生活中的或者
2)运算规则: 条件1 or 条件2 - 两个条件中有一个为True结果为True,两个都为False结果为False
            True or True       ->  True
            True or False      ->  True
            False or True      ->  True
            False or False     ->  False
"""
  • 判断num是否能够同时被3或7整除
num = 23
print('num是否能够同时被3或7整除:', num % 3 == 0 or num % 7 == 0)
print('num是否能够同时被3或7整除:', not (num % 3 != 0 and num % 7 != 0))
  • 练习:判断指定的年是否是闰年

    闰年分为普通闰年和世纪闰年两种, 普通闰年 - 能被4整除但是不能被100整除的年;世纪闰年 - 能被400整除的年

year = 200
print('是否是闰年:', (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0))
print('是否是闰年:', not ((year % 4 != 0 or year % 100 == 0) and (year % 400 != 0)))
  1. not - 逻辑非运算
"""
1)应用场景:如果一个条件正向写很复杂,反向写却很简单
2)运算规则:not 条件 - 对指定条件进行否定
            not True        ->  False
            not False       ->  True
"""
  • 年龄不大于等于18
age = 23
print(not age >= 18, age < 18)
  • num不能被3整除
num = 23
print(not num % 3 == 0, num % 3 != 0)
  • 示例: 判断num是否不能同时被3和7整除
num = 23
print('num是否不能同时被3和7整除:', (num % 3 == 0 and num % 7 != 0) or (num % 3 != 0 and num % 7 == 0) or (num % 3 != 0 and num % 7 != 0))
print('num是否不能同时被3和7整除:', num % 21 != 0)
print('num是否不能同时被3和7整除:', not (num % 21 == 0))
print('num是否不能同时被3和7整除:', not (num % 3 == 0 and num % 7 == 0))
  1. 赋值运算符

注意1:所有赋值运算符的作用都是将某个数据保存到某个变量中

所有赋值运算都没有结果, 除了海象运算符

  1. 赋值运算符: =

    变量 = 数据 - 右边数据保存到左边变量

a = 10
  1. **复合赋值运算符: +=, -=, *=, /=, //=, %=, =

    变量 += 数据 - 变量中保存的数据和+=后面的数据进行加法运算,然后将运算结果再赋值给变量

    注意:这儿的变量必须是已经赋值过的变量

c = 10
c += 2
print(c)

c = 10
c -= 2
print(c)

c = 10
c %= 3
print(c)

print(a := 10)      # 海象运算符
  1. 运算优先级
    • 数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)
    • 数学运算符: ** > *, /, %, // > +, -
    • 有括号先算括号里面的

day1 Python编程入门作业

选择题

  1. 下列哪个语句在Python中是非法的?(B)
    A. x = y = z = 1
    B. x = (y = z + 1)
    C. x, y = y, x
    D. x = y
  2. 关于Python变量,下列列说法错误的是 (C)
    A. 变量无须指定类型
    B. 变量可以重新赋值
    C. 变量⽆须先创建和赋值⽽直接使⽤
    D. 同一个变量可以保存不同类型的值
  3. 下⾯哪个不是Python合法的标识符(B)
    A. int64
    B. 40XL
    C. self
    D. stu_name
  4. 下列关于Python语⾔说法错误的是(C)
    A. Python是解释型语言
    B. Python是⾯向对象语⾔
    C. Python2.x和Python3.x是完全兼容的
    D. 普通的⽂本编辑器也可以写Python程序
  5. 下列关于print函数用法错误的是(D)
    A. print(100)
    B. print(100, 200)
    C. print(100, ‘hello world!’)
    D. print(10 20)

填空题

  1. Python中单行注释的符号是( # ), 多⾏注释的符号是( “”" “”"或’‘’ ‘’’ )。
  2. 语句a, b=10,20执⾏后,a的值是( 10 );语句a, a = 10, 20 执⾏后,a的值是( 20 )。
  3. Python程序文件扩展名是( .py )。
  4. 在Python中,int表示的数据类型是( 整型 )。
  5. 在Python中,字符串数据需要⽤( ’ ’ )或( " " )包裹。
  6. 在Python中,布尔类型有( 2 )个值,分别是( True, False )。
  7. 如果想要查看⼀个数据或者变量的数据类型,可以用( type() )函数。

编程题

  1. 写程序提示⽤户输入⽤户名和密码,并且将输⼊的内容保存到不同的变量中。
username = input('请输入用户名:')
password = input('请输入密码:')
  1. 使⽤一个print输出3个数据,3个数据在⼀行显示,并且用等号(=)隔开。
print(1, 2, 3, sep='=')
print(4, end='=')
print(5, end='=')
print(6, end='')

简答题

  1. 声明变量的时候, 变量名的注意事项有哪些?

    硬性规范:

    ​ 字母, 数字, 下划线组成, 不能数字开头(可以用中文, 但不建议使用)

    ​ 不能是系统关键字

    非硬性规范:

    ​ 见名知意

    ​ 所有字母小写, 字母间用下划线隔开(或驼峰命名法)

    ​ 不能是系统函数/类名/模块名(会覆盖原系统函数/类名/模块名功能)

  2. 请写出Python语言有哪些优点。

    简单, 易学, 开源, 库丰富

  3. 请写出Python常⻅的应用领域。

    数据分析, 人工智能开发, (游戏开发, 软件开发等, 但不常用)

  4. 写出你对今日授课内容中有疑问的地方(或者觉得有困难的知识点)。

    暂无

day3 数据类型和运算符作业

选择题

  1. print(100 - 25 * 3 % 4) 应该输出什么? (B)

    A. 1

    B. 97

    C. 25

    D. 0

  2. Python不支持的数据类型有(A)。

    A. char

    B. int

    C. float

    D. list

  3. (多选)n = 6784,以下能够获取到7 的方法有(CD)。

    A. n / 1000 % 100

    B. n % 1000 / 100

    C. n // 100 % 10

    D. n // 10 % 100 // 10

  4. 运行以下程序,当从键盘上输入12,运行结果是(A)。

    x = (input())
    print(type(x))
    

    A. <class 'str'>

    B. <class 'int'>

    C. 出错

    D. class 'dict'

  5. 下列表达式的运算结果是( D ) 。

    a = 100
    b = False
    print(a * b > -1)
    

    A. False

    B. 1

    C. 0

    D.True

填空题

  1. 在Python中表示空类型的是(None)。

  2. 查看变量中数据的类型的函数名是(type)。

  3. 已知x = 3 == 3,执行结束后,变量x的值为(True)。

  4. 已知 x = 3,那么执行语句 x += 6 之后,x的值为(9)。

  5. 表达式 3 ** 2 的值为(9),表达式 3 * 2的值为(6),表达式 4 ** 0.5 的值为(2.0)。

编程题

  1. 写出判断一个数是否能同时被3和7整除的条件语句, 并且打印对应的结果。

    例如:输入 21 打印 True, 输入 9 打印 False。
    
    num = int(input('请输入整数:'))
    print(f'{num}能否同时被3和7整除:', num % 21 == 0)
    
  2. 写出判断一个数是否能够被3或者7整除,但是不能同时被3或者7整除的条件语句, 并且打印对应的结果。

    例如:输入 14 打印 True, 输入 4 打印 False, 输入 21 打印 False。
    
    num = int(input('请输入整数:'))
    print(f'{num}能否被3或7整除且不能同时被3和7整除:', (num % 3 == 0 or num % 7 == 0) and num % 21 != 0)
    
  3. 输入年,写代码判断输入的年是否是闰年,并且打印对应的结果 。(是闰年的条件: 能被4整除但是不能被100整除或者能够被400整除的年)

    例如:输入 2020 打印 True, 输入 2011 打印 False
    
    year = int(input('请输入年份:'))
    print(f'{year}是否闰年:', (year % 4 == 0 and year % 100 != 0) or year % 400 == 0)
    
  4. 假设今天的上课时间为15678秒,编程计算今天上课时间是多少小时,多少分钟,多少秒;以‘XX时XX分XX秒’的方式表示出来。

    例如: 时间 67 秒  —> 017 秒
        
    course_time = 15678
    hours = course_time // 3600
    minutes = course_time % 3600 // 60
    seconds = course_time % 3600 % 60
    print(f'{hours}{minutes}{seconds}秒')
    
  5. 定义两个变量保存一个人的身高和体重,编程实现判断这个人的身材是否正常!

    公式: 体重(kg)/身高(m)的平方值 在18.5 ~ 24.9之间属于正常。

    例如: 输入体重: 55, 输入身高:1.55, 输出: True
    
    weight = float(input('请输入体重(kg):'))
    height = float(input('请输入身高(m):'))
    print(18.5 <= weight / height ** 2 <= 24.9)
    

简答题

  1. Python内置数据类型有哪些?

    数字数据: 整型(int), 浮点型(float)

    文本类型: 字符串(str)(也是容器型数据)

    布尔值: bool

    空值: None

    容器型:列表(list), 元组(tuple), 集合(set), 字典(dict)等

  2. 写出你对今⽇日授课内容中有疑问的地⽅方(或者觉得有困难的知识点)。

    暂无

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值