day2 - 变量和运算符
1 . 变量
1) 什么是变量
变量是用来保存数据的(在程序中使用数据的时候,不要直接用,而是先用变 量将数据保存起来,然后通过变量来使用数据)
2)定义变量
"""
语法:
变量名 = 数据
说明:
a . 变量名 - 由程序员自己命名;
要求:是标识符且不是关键字
规范:见名知义
不使用系统的函数名、类名和模块名
所有的字母都小写,多个单词之间用下划线隔开
b . = - 赋值符号;固定写法
c . 数据 - 可以是任何有结果的表达式,例如:具体的某个类型的数据,有结果的运算表达式
"""
注意:如果使用系统的函数名、类名给变量命名,会导致其本身的功能失效
print = 18
print(print) #报错
int = 20
print(int) #int做类型转换时无法使用
dog_name = '旺财' # PEP8命名规范
dogName = '旺财' # 驼峰式命名
3)使用变量
使用变量就是使用变量中保存的数据
x = 10
y = 20
print(x,y) # 10 20
4 ) 重新给变量赋值
xx = 100
print(xx)
xx = 200 # 重新赋值为200
print(xx)
xx = 'abc' # 重新赋值的时候可以赋不同类型的值,打印的是新的赋值
print(xx)
5 ) 同时定义多个变量
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) # 10 20 30
2 . 定义变量和重新给变量赋值的底层原理
1 . python定义变量不需要写类型 - python定义变量申请内存的时候,内存申请多大看数据大小,不看类型;
2 . 重新赋值的时候为什么可以赋不同类型的值 - 重新赋值的时候会重新申请新的内存
3 . 补充:获取内存地址的工具:id (变量)
x = 100
print(id(x)) # 8791539131248
3 . 数学运算符 :+、-、*、/、%(取余,取模)、//(整除)、**(幂运算)
1 ) + 加、- 减、* 乘、/ 除
功能:和数学中的运算功能一样
注意:如果操作的数据中有浮点数结果就是浮点数,都是整数,结果就是整数
/ 除 :除法运算的结果一定是浮点数
print(5 + 2) # 7
print(5.0 + 2) # 7.0
print(5 / 2) # 2.5
print(4 / 2) # 2.0
2 ) % - 取余,取模(求余数)
求 x % y - 求x除以y的余数
print(10 % 3) # 1
print(19 % 4) #3
应用场景:
判断整除关系:如果两个数存在整除关系,余数为0
num = 214
print(num % 2)
print(20 % 2)
取整数的低位数 - 对10或者10的n次幂取余
num = 1234567
print(num % 10) # 3,取个位数
print(num % 100) # 13,取后两位数
print(num % 1000) #213,取后三位
3 ) // - 整除
x // y - 求x除以y的商,商向小取整
print(5 // 2) # 2
print(-5 // 2) # -3
print(5 // -2) # -3
print(5 // 0.5) # 10.0
应用场景:快速取得整型的商
整数去掉低位数,保留高位数 - 对10或者10的n次幂进行整除操作
num = 324
print(num // 10) # 32
print(num // 100) # 3
练习:写代码获取num的十位数
num = 5334
print(num % 100 // 10) # 3
4 ) ** - 幂运算
x ** y - 求x的y次方
print(4 ** 6)
print(4 ** 0.5) # 2.0 4的2分之一次方
print(8 ** (1/3)) # 2.0 8的-3次方
4 . 比较运算符:>、<、>=、<=、==、!=
1 ) 所有的比较运算符的结果都是布尔
print(10 > 30) # False
print(10 >= 10) # True
判断num能否被4整除
num = 23
print(num % 4 == 0) # False
2 ) python的比较运算符支持连写表示范围
判断num是在0到1的范围内
num = 0.3
print(0 <= num <= 1)
5 . 逻辑运算符 :and、or、not
1 )and - 逻辑与运算
应用场景:用于连接要求同时满足的多个条件
运算规则:条件1 and 条件2 - 两个条件都成立,结果为True,只要有一个条件不成立,结果为False
True and True --> True
False and True --> False
True and False --> False
False and False --> False
获取奖学金的条件:绩点不低于3.5,并且操评分不低于90
gpa = 3.5
score = 95
print('是否能够获得奖学金:',gpa >= 3.5 and score >=90)
练习1:判断num是否能够同时被3和7整除
num = int(input('请输入一个数字:'))
if num % 3 == 0 and num % 7 == 0:
print('能整除')
else:
print('不能整除')
2 ) or - 逻辑或运算
应用场景:如果两个或者多个条件中只要有一个满足就型,就用or对这些条件进行连接
运算规则:条件1 or 条件2 - 两个条件中只要有一个成立,结果就为True,两个都不成立,结果为False
判断num是否能够被3整除或者被7整除
num = 23
print(num % 3 == 0 or num % 7 == 0)
练习:判断指定的年是否为闰年
year = int(input('请输入一个年份:'))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print('是闰年')
else:
print('是平年')
3)not - 逻辑非运算
应用场景:如果一个条件正向写情况很多很复杂,反向写却很简单的时候,我们就将条件反向写,再加not
运算规则:not 条件 - 对指定条件进行否定
not True --> False
not False --> True
判断num是否不能同时被3和7整除
num = 23
print(not num % 21 == 0)
6 . 赋值运算符 :=、+=、-=、*=、/=、%=、//=、**=
1) =
变量 = 数据 - 将右边的数据保存到左边的变量中
注意:所有的赋值运算符的作用都是将某个数据保存到某个变量中
a = 10
b = 20
2 ) +=、-=、*=、/=、%=、//=、**=
变量 = 数据 - 将变量中保存的数据和+=后面的数据进行加法运算,然后再赋值给左边的变量
注意:这里的变量必须是已经赋过值的变量
b += 10 # 报错
a = 10
a += 3
print(a) # 13
3 ) 运算符优先级
数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)
有括号的先算括号里的
day 2 - homework
1 . 选择题
- 下列哪个语句在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)
2 . 填空题
- Python中单行注释的符号是( # ), 多行注释的符号是( 三对 单引号或者三对双引号 )。
- 语句a, b=10,20执行后,a的值是(10 );语句a, a = 10, 20 执⾏后,a的值是( 10 )。
- Python程序文件扩展名是( p y )。
- 在Python中,int表示的数据类型是(整型 )。
- 在Python中,字符串数据需要⽤(单引号 )或( 双引号 )包裹。
- 在Python中,布尔类型有( 2)个值,分别是( True和False)。
- 如果想要查看⼀个数据或者变量的数据类型,可以用(type )函数。
3 . 编程题
1 . 写程序提示用户输入用户名和密码,并且将输入的内容保存到不同的变量中。
user_name = input('请输入用户名:')
password = input('请输入密码:')
print(user_name,password)
2 .使用一个print输出3个数据,3个数据在一行显示,并且用等号(=)隔开。
a = 10
b = 100 // 10
c = 310 % 100
print(a, b, c, sep='=')
4 . 简答题
1 . 声明变量的时候, 变量名的注意事项有哪些?
答:1)由字母、数字或者下划线组成,且数字不能开头;
2)不能是python中的关键字;
3)要做到见名知义。
2 . 请写出Python语言有哪些优点。
1)语法相比于 java 、c语言更加简洁,更适合小白
2)跨平台性相比与其它语言更强
3 . 请写出python常见的应用领域。
web应用开发、操作系统管理以及自动化脚本、科学计算、桌面软件、游戏开发等等
day 3 - homework
1 . 选择题
1 . print(100 - 25 * 3 % 4)
应该输出什么? (B)
A. 1
B. 97
C. 25
D. 0
<br
2 .Python不支持的数据类型有(A)。
A. char
B. int
C. float
D. list
3 . (多选)n = 6784,以下能够获取到7 的方法有(C,D)。
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
2 . 填空题
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)。
3 . 编程题
1 . 写出判断一个数是否能同时被3和7整除的条件语句, 并且打印对应的结果。
num = int(input('请输入一个数:'))
if num % 3 == 0 and num % 7 == 0:
print(True)
else:
print(False)
2 . 写出判断一个数是否能够被3或者7整除,但是不能同时被3或者7整除的条件语句, 并且打印对应的结果。
num = int(input('请输入一个数字:'))
if (num % 3 == 0 or num % 7 == 0) and num % 21 != 0:
print(True)
else:
print(False)
3 . 输入年,写代码判断输入的年是否是闰年,并且打印对应的结果 。(是闰年的条件: 能被4整除但是不能被100整除或者能够被400整除的年)
year = int(input('请输入一个年份:'))
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print(True)
else:
print(False)
4 . 假设今天的上课时间为15678秒,编程计算今天上课时间是多少小时,多少分钟,多少秒;以‘XX时XX分XX秒’的方式表示出来。
time = 15678
hours = time // 3600
minutes = time % 3600 // 60
seconds = time % 3600 % 60
print(f'{hours}时{minutes}分{seconds:}秒')
5 . 定义两个变量保存一个人的身高和体重,编程实现判断这个人的身材是否正常!
公式: 体重(kg)/身高(m)的平方值
在18.5 ~ 24.9之间属于正常。
kg = float(input('请输入体重:'))
m = float(input('请输入身高:'))
print(18.5 <= (kg / m ** 2) <= 24.9)
4 . 简答题
1 . Python内置数据类型有哪些?
答 : 数字类型、文本类型、布尔类型、空值
2 . 写出你对今⽇日授课内容中有疑问的地⽅方(或者觉得有困难的知识点)。