计算机单位换算
# 补充2:计算机内存单位
# 位(bit)
# 1字节(bytes) = 8位
# 1kb = 1024字节
# 1Mb = 1024kb
# 1Gb = 1024Mb
# 1T = 1024Gb
变量
1. 什么是变量:变量是用来保存数据的(在程序中使用的数据的时候,不要直接用,而是先用变量把数据存起来来,然后通过使用变量来使用数据)
2. 定义变量 - 将数据保存到变量中
3. 语法: 变量名 = 数据
"""
说明:
a. 变量名 - 由程序员自己命名;
要求:是标识符不是关键字
规范:见名知义(看到变量名就大概知道变量中保存的是什么数据);
不使用系统的函数名、类名和模块名;
所有的字母都小写,多个单词之间用下划线隔开 (也可以使用驼峰式命名)
b. = - 赋值符号;固定写法
c. 数据 - 可以是任何有结果的表达式,例如:具体的某个类型的数据、有结果的运算表达式、已经赋值过的变量
"""
age = 18
name = 18
# 1 . 重新给变量赋值
a = 100
print(a) # 100
a = 200
print(a) # 200
# 2. 同时定义多个变量
# 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. 交换变量值
# 方法一:
m = 100
n = 20
t = m
m = n
n = t
print(m, n)
# 方法二:
m = 100
n = 20
m, n = n, m # m, n = 20, 100
print(m, n)
数学运算符
数学运算符:+(加)、-(减)、*(乘)、/(除)、%(取余、取模)、//(整除)、**(幂运算)
# 1. +(加)、-(减)、*(乘)、/(除)
# +、-、*、/的功能和数学中的+、-、×、÷的功能一模一样
# 注意:+、-、*操作,如果操作的数据中有浮点数结果就是浮点,都是整数结果就是整数;
# / 的结果一定是浮点数
print(5 + 2) # 7
print(5.0 - 2) # 3.0
print(5 * 2) # 10
print(5 / 2) # 2.5
print(4 / 2) # 2.0
# 2. % - 取余、取模(求余数)
# x % y - 求x除以y的余数
print(10 % 3) # 1
print(15 % 4) # 3
# 应用场景1:判断整除关系(判断一个数是否能够被另外一个数整数) - 如果两个数存在整除关系,那么他们的余数是0
num = 214
print(num % 2)
print(20 % 2)
print(2092312 % 2)
# 应用场景2:取整数的低位数 - 对10或者10的N次幂取余
num = 3293
print(num % 10) # 3
print(num % 100) # 93
# 被除数 = 除数 × 商 + 余数 -> 余数 = 被除数 - 除数 × 商
print(10 // 3, 10 % 3) # 3 -> 10 - 3*3 -> 1
print(-10 // 3, -10 % 3) # -4 -> -10 - (3*-4) -> 2
# 3. // - 整除
# x // y - 求x除以y的商,商向小取整
print(5 // 2) # 2
print(-5 // 2) # -3
# 应用场景1:(在知道两个数能整除的情况下)获取整型的商 - 了解
# nums = [28, 89, 23, 45, 56, 90, 23, 80]
# print(nums[len(nums) // 2])
print(8 / 2) # 4.0
print(8 // 2) # 4
# 应用场景2: 整数去掉低位数,保留高位数 - 对10或者10的N次幂进行整除操作
num = 324
# 324 -> 32
print(num // 10) # 32
# 324 -> 3
print(num // 100) # 3
# 练习:写代码获取num的十位数
num = 367892
# 方法1:
print(num // 10 % 10)
# 方法2:
print(num % 100 // 10)
# 4. ** - 幂运算
# x ** y - 求x的y次方
print(2 ** 3)
print(4 ** 5)
print(4 ** 2)
print(4 ** 0.5) # 2.0
print(8 ** (1 / 3)) # 2.0
print(2 ** -2) # 0.25
比较运算符
比较运算符:>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、==(等于)、!=(不等于)
# 1. 所有的比较运算符的运算结果都是布尔
print(10 > 30)
print(10 >= 10)
print(10 == 20)
# 判断num是否能被4整除
num = 23
print(num % 4 == 0) # False
# 判断num是否是浮点数
num = 0.68787
print(type(num) == float)
# 判断指定的年龄是否成年
age = 3
print('是否成年:', age >= 18)
# 2. python的比较运算符支持连写表示范围
# 判断num是在0到1的范围内
num = 0.3
print(0 <= num <= 1)
# print(num >= 0 and num <= 1)
# [0, 1]、(0, 1), [0, 1), (0, 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
# 条件1:绩点不低于3.5 - gpa >= 3.5
# 条件2:操评分大于90 - score > 90
gpa = 3.0
score = 95
print('是否能获取奖学金:', gpa >= 3.5 and score > 90)
# 练习1: 判断num是否能够同时被3和7整除
# 条件1:能被3整除 - num % 3 == 0
# 条件2:能被7整除 - num % 7 == 0
num = 21
# 方法1:
print('num是否能够同时被3和7整除:', num % 3 == 0 and num % 7 == 0)
# 方法2:
print('num是否能够同时被3和7整除:', num % 21 == 0)
# 2. 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)
# 练习:判断指定的年是否是闰年
# 闰年分为普通闰年和世纪闰年两种, 普通闰年 - 能被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))
# 3. not - 逻辑非运算
"""
1) 应用场景:如果一个条件正向写情况很多很复杂,反向写却很简单的时候,我们就将条件反向写,再加not
2)运算规则:not 条件 - 对指定条件进行否定
not True -> False
not False -> True
"""
age = 23
# 年龄大于等于18
print(age >= 18)
# 年龄不大于等于18
print(not age >= 18, age < 18)
# num能被3整除
num = 23
print(num % 3 == 0)
# num不能被3整除
num = 23
print(not num % 3 == 0, num % 3 != 0)
# 示例:判断num是否不能同时被3和7整除
# 方法1 :正向写条件
# 不能同时被3和7整除: 能被3整除但是不能被7整除、能被7整除但是不能被3整除、既不能被3整除也不能被7整除
# 1)能被3整除但是不能被7整除: num % 3 == 0 and num % 7 != 0
# 2)能被7整除但是不能被3整除: num % 3 != 0 and num % 7 == 0
# 3)既不能被3整除也不能被7整除: num % 3 != 0 and num % 7 != 0
print((num % 3 == 0 and num % 7 != 0) or (num % 3 != 0 and num % 7 == 0) or (num % 3 != 0 and num % 7 != 0))
# 方法2:反向写条件
# 反向写条件: num能同时被3和7整除
print(not num % 21 == 0)
# 判断x是否不是数字类型
x = '12'
print(type(x) != int and type(x) != float)
赋值运算符
赋值运算符:=、+=、-=、*=、/=、%=、//=、**=
运算符优先级
数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)
数学运算符:** > *、/、%、// > +、-
有括号先算括号里面的
# 注意1:所有的赋值运算符的作用都是将某个数据保存到某个变量中
# 注意2:所有的赋值运算都没有没结果
# 1. =
# 变量 = 数据 - 将右边的数据保存到左边的变量中
a = 10
# 2. +=、-=、*=、/=、%=、//=、**=
# 变量 += 数据 - 将变量中保存的数据和+=后面的数据进行加法运算,然后将运算结果再赋值给变量
# 注意:这儿的变量必须是已经赋值过的变量
# b += 10 # 报错!
c = 10
c += 2 # 相当于: c = c + 2 -> c = 10 + 2 -> c = 12
print(c) # 12
c = 10
c -= 3 # c = c - 3 -> c = 10 - 3 -> c = 7
print(c) # 7
c = 10
c %= 3 # c = c % 3 -> c = 10 % 3 -> c = 1
print(c)
10 + 20
10 > 20
a = 10
print(10 + 20)
print(10 > 20)
# print(a = 10) # 报错!
m = 190
print(m)
# 作业
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中单行注释的符号是( # ), 多⾏注释的符号是( ‘’’ ‘’’ 或 “”" “”" )。
- 语句a, b=10,20执⾏后,a的值是( 10 );语句a, a = 10, 20 执⾏后,a的值是( 20 )。
- Python程序文件扩展名是( .py )。
- 在Python中,int表示的数据类型是( 整型)。
- 在Python中,字符串数据需要⽤( 单引号 )或( 双引号 )包裹。
- 在Python中,布尔类型有( 2)个值,分别是( True 和 False )。
- 如果想要查看⼀个数据或者变量的数据类型,可以用(type )函数。
编程题
-
写程序提示⽤户输入⽤户名和密码,并且将输⼊的内容保存到不同的变量中。
name = input('请输入用户名:') password = input('请输入密码')
-
使⽤一个print输出3个数据,3个数据在⼀行显示,并且用等号(=)隔开。
print(1,2,3, sep=‘=’)
### 简答题
1. 声明变量的时候, 变量名的注意事项有哪些?
##### 名字由字母、数字或下划线组成,并且数字不能开头
##### 见名知义(看到变量名就大概知道变量中保存的是什么数据)
##### 不使用系统的函数名、类名和模块名
##### 所有的字母都小写,多个单词之间用下划线隔开
## day3 数据类型和运算符作业
### 选择题
1. `print(100 - 25 * 3 % 4)` 应该输出什么? (B)
`A. 1`<br>
`B. 97`<br>
`C. 25`<br>
`D. 0`<br>
2. Python不支持的数据类型有(A)。
`A. char`<br>
`B. int`<br>
`C. float`<br>
`D. list`<br>
3. (多选)n = 6784,以下能够获取到7 的方法有(C、D)。
`A. n / 1000 % 100 `<br>
`B. n % 1000 / 100`<br>
`C. n // 100 % 10`<br>
`D. n // 10 % 100 // 10`<br>
4. 运行以下程序,当从键盘上输入12,运行结果是(A)。
```python
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('请输入一个数字:')) print(num % 3 == 0 and num % 7 == 0)
-
写出判断一个数是否能够被3或者7整除,但是不能同时被3或者7整除的条件语句, 并且打印对应的结果。
例如:输入 14 打印 True, 输入 4 打印 False, 输入 21 打印 False。 num = int(input('请输入一个数字:')) print((num % 7 == 0 or num % 3 == 0) and (not 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 秒 times = 15678 hours = times // 60 // 60 minutes = times // 60 % 60 s = times % 60 print(hours, '时', minutes, '分', s, '秒')
-
定义两个变量保存一个人的身高和体重,编程实现判断这个人的身材是否正常!
公式:
体重(kg)/身高(m)的平方值
在18.5 ~ 24.9之间属于正常。例如: 输入体重: 55, 输入身高:1.55, 输出: True kg = 55 high = 1.55 print(18.5 <= (kg / high) ** 2 <= 24.9)
简答题
-
Python内置数据类型有哪些?
整型、浮点、字符串、布尔、空值、列表、字典、元组、集合