一、笔记整理
day2-变量和运算符
1变量
1.1认识和创建变量
# 1)什么是变量 - 变量是用来保存数据的(在程序中使用数据的时候,不要直接用,而是先用变量把数据存起来,然后通过使用变量来使用数据)
# 2)定义变量(创建变量) - 将数据保存到变量中
'''
语法:
变量名 = 数据
说明:
a.变量名 - 由程序员自己命名;
要求:是标识符,不是关键字
规范:见名知义(看到变量名就大概知道变量中保存的是什么数据)
不使用系统的函数名(如:print、input)、类名(int、float)、模块名(如:print、input)
所有的字母都小写,多个单词之间用下划线隔开(也可以使用驼峰式命名法)
b.= - 赋值符号:固定写法
c.数据 - 可以是任何有结果的表达式,例如:具体的某个类型的数据;有结果的运算表达式;已经赋值过的变量
'''
dog_name = '旺财' # PEP8命名规范
dogName = '旺财' # 驼峰式命名
print(dogName)
a = 10
b = 'abc'
c = 10 + 20
d = a
1.2使用变量
# 使用变量就是使用变量中保存的数据
x = 100
y = 200
print(x, y)
print(x + 10)
1.3重新给变量赋值
xx = 100
print(xx)
xx = 200 # 重新赋值为200
print(xx)
xx = 'abc' # 重新赋值为abc 重新赋值的时候,可以赋不同类型的值。重新赋值后 ,新的值会覆盖原来的值
print(xx)
1.4同时定义多个变量
1)同时定义多个变量赋相同的值:变量名1 = 变量名2 = 变量名3…=数据
x1 = x2 = x3 = 100
print(x1, x2, x3) # 100 100 100
2)同时定义多个变量,赋不同的值:变量名1,变量名2,变量名3,… = 数据1 ,数据2,数据3,…
y1, y2, y3 = 10, 20, 30
print(y1, y2, y3)
3)应用:交换变量的值
方法1:
m = 10
n = 20
t = m
m = n
n = t
print(m, n)
方法2:
m = 100
n = 200
m, n = n, m # m,n = 200,100
print(m, n)
2定义变量和重新给变量赋值的底层原理
1.python定义变量,为什么不需要写类型?
# 答:python定义变量申请内存的时候,内存申请多大看数据需要多大,不看类型
a = 10
'''
注意:程序在运行的时候,数据是保存在运行内存中
C 、java在在定义变量之前需要考虑数据的大小
大小看类型
python:优点:不会出现数据溢出,和浪费的的情况
缺点:效率相对较低
大小看数据
'''
2.重新给变量赋值的时候,为什么可以赋不同类型的值?
# 答:重新赋值的时候,会重新申请新的内存
b = 20
b = 'abc'
b = [10, 20, 30]
print(b)
'''
C 、java只是更换了数据,但是类型并没有改变
python 在重新赋值的时候,会重新申请容器(大小、类型根据数据而定)
'''
3.为什么python可以直接计算9999**9999?
# 答:申请内存的时候,会先提前计算这个数据需要多大内存,需要多大就申请多大
a = 9999 ** 9999
# 补充1:获取内存地址的工具:id(变量) 注意:不同的内存地址是不一样的
x = 100
print(id(x)) # 1667146143184
# 重新赋值的时候,地址会发生变化
x = 200
print(id(x)) # 2404361790096
# 补充2:计算机内存的单位
'''
位(bit)
1字节(bytes) = 8位
1kb = 1024字节
1MB = 1024kb
1GB = 1024Mb
1T = 1024Gb
'''
3数学运算符
1.数学运算符: +、-、*、/、%(取余、取模)、//(整除)、**(幂运算)
# 1.python中的 +、-、*、/的功能和数学中一模一样
# 注意: +、-、*、操作,如果操作的数据中有浮点数,结果就是浮点数。都是整数结果就是整数
# / (除法)的结果一定是浮点数
print(3.0 - 2) # 1.0
print(4 / 2) # 2.0
print(-10 // 3, -10 % 3) # -4==>-10-(3*-4)==>2
3.1取余%
取余,又称取模(求余数)
# x % y - 求x除以y的余数
print(10 % 3) # 1
print(15 % 4) # 3
# 应用场景1:判断整除关系(判断一个数是否能够被另一个数整除) - 如果两个数存在整除关系,那么他们的余数是0
num = 21
print(num % 2)
print(20 % 2)
# 应用场景2:取整数的低位数 - 对10或者10的N次幂取余
num = 321367
print(num % 10) # 7 取个位
print(num % 100) # 67 取出后两位
print(num % 1000) # 367 取出后三位
print(num % 10000)
# 被除数 = 除数 × 商 + 余数 === 》余数 = 被除数 - 除数×商
print(10 // 3, 10 % 3) # 3==>10-3*3==>1
print(-10 // 3, -10 % 3) # -4==>-10-(3*-4)==>2
3.2 整除 //
# x // y - 求x除以y的商,向小取整
print(5 // 2) # 2
print(-5 // 2) # -3
# 应用场景1:(在知道两个数能整除的情况下)快速获取整型的商
nums = [10, 24, 45, 56, 77, 88, 33]
print(nums[len(nums) // 2])
print(8 / 2)
print(8 // 2)
# 应用场景2:整数去掉低位数,保留高位数 - 对10或者10的N次幂进行整除操作
nums = 324
# 将324 -> 32
print(nums // 10) # 32
# 将324 -> 3
print(nums // 100) # 3
# 练习:写代码获取num的十位数
num = 4567890
print(num % 100 // 10) # 取出个位数
print(num % 1000 // 100) # 取百位数
# 正解:方法1
print(num // 10 % 10)
# 方法2:
print(num % 100 // 10)
3.3幂运算 **
# 4. **幂运算
# x ** y - 求x的y次方
print(2 ** 3) # 8
print(4 ** 0.5) # 2.0
print(8 ** (1 / 3)) # 2.0
print(2 ** -2) # 2.25
4比较运算符
比较运算符 :>、>=、<、<=、==、!=
1.python中所有的比较运算符的结果都是布尔值
print(10 > 30) # False
print(10 == 20) # False
num = 0.3434
# 判断num是否能被4整除
print(23 % 4 == 0) # False
# 判断num是否是浮点数
print(type(num) == float) # True
# 判断指定年龄是否成年
age = 30
print('是否成年:', age >= 18) # True
2.python 的比较运算符支持连写表示范围
# 判断num是否在0到1的范围
print(0 <= num <= 1)
# 区间
5逻辑运算符
逻辑运算符:and(逻辑与运算) 、 or(逻辑或运算)、 not(逻辑非运算)
5.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 = 93
print('是否能获取奖学金:', gpa >= 3.5 and score > 90)
# 练习1: 判断num是否能够同时被3和7整除
# 条件1:能被3整除 - num % 3 == 0
# 条件2:能被6整除 - num % 7 == 0
num = 23
# 方法1:
print('num是否能够同时被3和7整除:', num % 3 == 0 and num % 7 == 0)
# 方法2:
print('num是否能够同时被3和7整除:', num % 21 == 0)
5.2 or - 逻辑或运算
'''
1)应用场景:如果两个或者多个条件中只要有一个满足就行,就用or来对这些条件进行连接,相当于生活中的或者
2)运算规则:条件1 or 条件2 -- 两个条件中只要有一个是True结果就是True。两个条件都是False结果才是False
True and True -> True
True and False -> True
False and True -> True
False and False -> False
'''
num = 21
print('num是否能够同时被3和7整除:', num % 3 == 0 or num % 7 == 0) # True
# 练习: 判断指定的年分是否是闰年
# 闰年分为普通闰年和四季闰年两种。普通闰年--能被4整除但是不能被100整除;世纪闰年是能被400整除的年
# 普通闰年:year % 4 == 0 and year % 100 != 0
# 世纪闰年:year % 400 == 0
year = 2012
print('是否是闰年:', (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0))
5.3 not - 逻辑非运算
'''
1)应用场景:如果一个条件正向写情况很多很复杂,反向写却很简单的时候,我们就将条件反向写,再加not
2)运算规则:not 条件 - 对指定条件进行否定
not True -> False
not False -> True
'''
# num 能被3整除
num = 23
print(num % 3 == 0)
# num 能被3整除
num = 23
print(not num % 3 == 0, num % 3 != 0)
# 示例1:判断num是否不能同时被3和7整除
# 方法1:正向写条件
# 1)能被3整除但不能被7整除:num % 3 == 0 and num % 7 != 0
# 2)能被7整除但不能被3整除:
# 3)既不能被3整除也不能被7整除:
# 方法2:反向写条件
# 反向条件:num能同时被3和7整除
print(not num % 21 == 0)
# 示例2:判断x是否不是数字类型
x = '12'
print(type(x) != int and type(x) != float)
6赋值运算符
6.1 赋值运算符
赋值运算符:=、+=、-=、*=、/=、%=、//=、**=
# 注意1:所有的赋值运算符的作用都是将数据保存到某个变量中
# 1.=
# 变量 = 数据 - 将右边的数据保存到到左边的变量中
a = 10
# 2.+=、-=、*=、/=、%=、//=、**=
# 变量 += 数据 - 将变量中保存的数据和+=后面的数据进行加法运算,然后将运算结果再赋值给变量
# 注意1:这儿的变量必须是已经赋值过的变量
# 注意2:所有的赋值运算都没有结果
# a1 += 2 # 报错 NameError: name 'a1' is not defined
```
# 注意1:所有的赋值运算符的作用都是将数据保存到某个变量中
# 1.=
# 变量 = 数据 - 将右边的数据保存到到左边的变量中
a = 10
# 2.+=、-=、*=、/=、%=、//=、**=
# 变量 += 数据 - 将变量中保存的数据和+=后面的数据进行加法运算,然后将运算结果再赋值给变量
# 注意1:这儿的变量必须是已经赋值过的变量
# 注意2:所有的赋值运算都没有结果
# a1 += 2 # 报错 NameError: name 'a1' is not defined
b = 2
b += 2 # 相当于b=b+2 ->b = 2 + 2 -> b= 4
print(b) # 4
c = 10
c %= 3 # c = c % 3 -> c = 10 % 3 ->c = 1
6.2运算符优先级
# 数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)
# 数学运算符: ** > *、/、//、% > +、-
# 有括号先算括号内的
二、作业1
day2 Python编程⼊入⻔门作业
选择题
- 下列哪个语句在Python中是非法的?(B)
A. x = y = z = 1
B. x = (y = z + 1)
C. x, y = y, x
D. x = y - 关于Python变量,下列列说法错误的是 (C)
A. 变量无须指定类型
B. 变量可以重新赋值
C. 变量⽆须先创建和赋值⽽直接使⽤
D. 同一个变量可以保存不同类型的值 - 下⾯哪个不是Python合法的标识符(B)
A. int64
B. 40XL
C. self
D. stu_name - 下列关于Python语⾔说法错误的是(C)
A. Python是解释型语言
B. Python是⾯向对象语⾔
C. Python2.x和Python3.x是完全兼容的
D. 普通的⽂本编辑器也可以写Python程序 - 下列关于print函数用法错误的是(D)
A. print(100)
B. print(100, 200)
C. print(100, ‘hello world!’)
D. print(10 20)
填空题
- Python中单行注释的符号是( # ), 多⾏注释的符号是( 3个单引号(或3个双引号) )。
- 语句a, b=10,20执⾏后,a的值是( 10 );语句a, a = 10, 20 执⾏后,a的值是( 20 )。
- Python程序文件扩展名是( .py )。
- 在Python中,int表示的数据类型是(整型 )。
- 在Python中,字符串数据需要⽤( ’ ’ )或( " " )包裹。
- 在Python中,布尔类型有( 2 )个值,分别是(True和False )。
- 如果想要查看⼀个数据或者变量的数据类型,可以用( type() )函数。
编程题
-
写程序提示⽤户输入⽤户名和密码,并且将输⼊的内容保存到不同的变量中。
username = input('请输入用户名:') password = input('请输入密码:')
-
使⽤一个print输出3个数据,3个数据在⼀行显示,并且用等号(=)隔开。
print(10, end='+') print(20, end='=') print(30)
简答题
-
声明变量的时候, 变量名的注意事项有哪些?
答:1)变量名由字母、数字、下划线组成
2)不能以数字开头
3)最好能够做到见名知义
-
请写出Python语言有哪些优点。
答:相对C、JAVA而言,python语言比较简洁。
比如:在打印’hello world’的时候,python只需要一行代码就可以完成打印功能。
print('hello world!')
-
请写出Python常⻅的应用领域。
答:数据分析、人工智能、办公自动化
-
写出你对今日授课内容中有疑问的地方(或者觉得有困难的知识点)。
答:无。
三、作业2
day3 数据类型和运算符作业
选择题
-
print(100 - 25 * 3 % 4)
应该输出什么? (B)A. 1
B. 97
C. 25
D. 0
-
Python不支持的数据类型有(A)。
A. char
B. int
C. float
D. list
-
(多选)n = 6784,以下能够获取到7 的方法有(C、D)。
A. n / 1000 % 100
B. n % 1000 / 100
C. n // 100 % 10
D. n // 10 % 100 // 10
-
运行以下程序,当从键盘上输入12,运行结果是(A)。
x = (input()) print(type(x))
A.
<class 'str'>
B.
<class 'int'>
C.
出错
D.
class 'dict'
-
下列表达式的运算结果是( D) 。
a = 100 b = False print(a * b > -1)
A.
False
B.
1
C.
0
D.
True
填空题
-
在Python中表示空类型的是(None)。
-
查看变量中数据的类型的函数名是(type())。
-
已知
x = 3 == 3
,执行结束后,变量x的值为(True)。 -
已知
x = 3
,那么执行语句x += 6
之后,x的值为(9)。 -
表达式
3 ** 2
的值为(9),表达式3 * 2
的值为(6),表达式4 ** 0.5
的值为(2.0)。
编程题
-
写出判断一个数是否能同时被3和7整除的条件语句, 并且打印对应的结果。
例如:输入 21 打印 True, 输入 9 打印 False。 num = int(input('请输入一个整数:')) # 写法1: print('能同时被3和7整除', num % 3 == 0 and num % 7 == 0) # 写法2: print('能否同时被3和7整除:', not (num % 3 == 0 and num % 7 != 0) or (num % 7 == 0 and num % 3 != 0) or (num % 3 != 0 and num % 7 != 0))
-
写出判断一个数是否能够被3或者7整除,但是不能同时被3或者7整除的条件语句, 并且打印对应的结果。
例如:输入 14 打印 True, 输入 4 打印 False, 输入 21 打印 False。 num = int(input('请输入一个数字:')) print((num % 3 == 0 or num % 7 == 0) and (num % 21 != 0))
-
输入年,写代码判断输入的年是否是闰年,并且打印对应的结果 。(是闰年的条件: 能被4整除但是不能被100整除或者能够被400整除的年)
例如:输入 2020 打印 True, 输入 2011 打印 False year = int(input('请输入年份:')) print('是否是闰年?', (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0))
-
假设今天的上课时间为15678秒,编程计算今天上课时间是多少小时,多少分钟,多少秒;以‘XX时XX分XX秒’的方式表示出来。
例如: 时间 67 秒 —> 0 时 1 分 7 秒 time = int(input('请输入需要计算的时间(单位:秒):')) hour = time //3600 minute = time % 3600 //60 second = time % 60 print(f'{hour}时{minute}分{second}秒')
-
定义两个变量保存一个人的身高和体重,编程实现判断这个人的身材是否正常!
公式:
体重(kg)/身高(m)的平方值
在18.5 ~ 24.9之间属于正常。例如: 输入体重: 55, 输入身高:1.55, 输出: True weight = float(input('请输入您的体重(kg):')) height = float(input('请输入您的身高(m):')) print('是否健康?', 18.5 <= weight / (height * height) < 24.9)
简答题
-
Python内置数据类型有哪些?
答:int(整型)–相当于数学中的整数
str(字符串型)–必须用引号引起来
float(浮点型)–相当于数学中的小数
bool(布尔型)–只有True 和False两个返回值
-
写出你对今⽇日授课内容中有疑问的地⽅方(或者觉得有困难的知识点)。
答:1)// 和 %的使用容易搞混,分不太清楚。 2)not的用法
最后
以上就是端庄店员最近收集整理的关于day2-变量和运算符一、笔记整理二、作业1三、作业2的全部内容,更多相关day2-变量和运算符一、笔记整理二、作业1三、作业2内容请搜索靠谱客的其他文章。
发表评论 取消回复