概述
变量和运算符
1.变量
1.认识变量
1)什么是变量 - 变量是用来保存数据的(在程序中使用的数据的时候,不要直接用,而是先用变量把数据存起来来,然后通过使用变量来使用数据)。
2)定义变量(创建变量) - 将数据保存到变量中。
语法:
变量名 = 数据
说明:
a. 变量名 - 由程序员自己命名;
要求:是标识符不是关键字
规范:见名知义(看到变量名就大概知道变量中保存的是什么数据);
不使用系统的函数名、类名和模块名;
所有的字母都小写,多个单词之间用下划线隔开 (也可以使用驼峰式命名)
b. = - 赋值符号;固定写法
c. 数据 - 可以是任何有结果的表达式,例如:具体的某个类型的数据、有结果的运算表达式、已经赋值过的变量。
注意:
如果使用系统的函数名、类名给变量命名,会导致他们本身的功能消失
print = 100 # print函数无法使用
int = 20 # int做类型转换无法使用
2.定义变量
-
python定义变量不需要写类型 - Python定义变量申请内存的时候,内存申请多大看数据需要多大,不看类型
a = 10 -
重新赋值的时候为什么可以赋不同类型的值 - 重新赋值的时候会重新申请新的内存
b = 20
b = ‘abc’
b = [10, 20, 30] -
为什么Python可以直接计算 9999** 9999 - 申请内存的时候会先提前计算存储这个数据需要多大的内存,需要多大就申请多大
c = 9999**9999
补充1:
获取内存地址的工具: id(变量)
x = 100
print(id(x))
x = 2000
print(id(x))
补充2:
计算机内存单位
位(bit)
1字节(bytes) = 8位
1kb = 1024字节
1Mb = 1024kb
1Gb = 1024Mb
1T = 1024Gb
2.数学运算符
数学运算符指:
+(加)、-(减)、*(乘)、/(除)、%(取余、取模)、//(整除)、**(幂运算)
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
3.比较运算符:
比较运算符有:>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、==(等于)、!=(不等于)
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) or
print(num >= 0 and num <= 1)
4.逻辑运算符: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)
5.赋值运算符:
赋值运算指:=、+=、-=、*=、/=、%=、//=、**=
注意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)
3. 运算符优先级
数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)
数学运算符:** > *、/、%、// > +、-
有括号先算括号里面的
作业
## day2 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. 写程序提示⽤户输入⽤户名和密码,并且将输⼊的内容保存到不同的变量中。
user_name = input('请输入用户名:')
pass_words = input('请输入密码:')
# 2. 使⽤一个print输出3个数据,3个数据在⼀行显示,并且用等号(=)隔开。
print(1,2,3, sep= '=')
# ### 简答题
#
# 1. 声明变量的时候, 变量名的注意事项有哪些?
#答:1.变量名只能由数字,字母、下划线组成,并且不能以数字开头。
#2.变量名不能够是python系统关键字。
# 2. 请写出Python语言有哪些优点。
#答: 简单、易懂
# 3. 请写出Python常⻅的应用领域。
#答:web开发、编程等
# 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整除的条件语句, 并且打印对应的结果。
i = int(input('请输入数字'))
print(i % 21 == 0)
# 2.
# 写出判断一个数是否能够被3或者7整除,但是不能同时被3或者7整除的条件语句, 并且打印对应的结果。
num = 11
print((num % 3 == 0 or num % 7 == 0) and (num % 21 != 0 ))
# 3.
# 输入年,写代码判断输入的年是否是闰年,并且打印对应的结果 。(是闰年的条件: 能被4整除但是不能被100整除或者能够被400整除的年)
year = 2004
print((year % 4 == 0 and year % 100 != 0) or year % 400 == 0)
# 4.
# 假设今天的上课时间为15678秒,编程计算今天上课时间是多少小时,多少分钟,多少秒;以‘XX时XX分XX秒’的方式表示出来。
hour = (15678 // 60 // 60)
min = ((15678 // 60 * 60 - 15678 // 60 // 60 * 60 * 60) // 60)
second = (15678 % 60)
print(hour,'时',min,'分',second,'秒' )
# 5.
# 定义两个变量保存一个人的身高和体重,编程实现判断这个人的身材是否正常!
#
# 公式: `体重(kg) / 身高(m)的平方值在18.5 ~ 24.9之间属于正常。
height = 1.55
weigh = 55
print(18.5 < weigh/height**2 < 24.9)
#
# ### 简答题
#
# 1.
# Python内置数据类型有哪些?
#答:字符串(str)、整型(int)、浮点数(float)、布尔值(bool)、列表(list)、元祖(tuple)、集合(set)、字典(dict)
# 2.
# 写出你对今⽇日授课内容中有疑问的地⽅方(或者觉得有困难的知识点)。
最后
以上就是聪明大白为你收集整理的变量和运算符变量和运算符作业的全部内容,希望文章能够帮你解决变量和运算符变量和运算符作业所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复