变量与运算符
1.变量
1.认识变量和定义(创建)变量:
1.什么是变量:变量是用来保存数据(在程序中使用数据的时候不要直接用,而是先用变量把数据存起来,通过使用变量来使用数据。
2.定义变量(创建变量):将数据保存在变量中。
3.语法 变量=数据 使用变量就是使用变量中保存的数据
列如:
massage = 啊啊啊啊啊啊啊啊啊
print = (passage
print = (passage)
print = (passage)
print = (passage)
print = (passage)
4.说明:
1.变量名由程序员自己命名,要求:是标识符不是关键字,规范:见名知意(看到变量名就知道变量中保存的是什么数据),不使用系统的函数名,类名和模块名。
注意:如果使用系统的函数名,类名和模块名,会导致它们本身功能消失。
变量名所有字母都小学,多个单词用下划线划开列如 dog_name( P E P 8 规范命名)(也可使用驼峰式命名, d o g N a me )
2.= 赋值符号,固定写法。
3.数据: 可以是任何有结果的表达式,列如:具体的某个类型的数据,有结果的运算表达式。(a=19 b=‘a b c’ c=10+20,d=a)
int=(12)
print=(12)
a=10
d=a
print(d)
5.重新给变量赋值
x=100
x=200 #重新赋值为200
x=‘abc’ #重新赋值为abc 重新赋值可以赋不同类型的值,
6.同时定义多个变量
# 1.同时定义多个变量赋相同的值:变量名1=变量名2=变量名3
x1=x2=x3=100
# 2.同时定义多个变量赋不同的值:变量1,变量2,变量3=数据1,数据2,数据3
y1,y2,y3=10,20,30
print(y2)
7.应用:交换两个变量的值
# 方法1:t=m m=n n=t
# 方法2:m,n=n,m
m=10
n=20
t=m
m=n
n=t
print(m,n)
2.定义变量和重新给变量赋值的底层原理
1.python定义变量不需要写类型:python定义变量申请内存的时候,内存申请多大看数据需要多大,不看类型。
2.重新赋值的时候为什么可以赋不同类型的值:重新赋值的时候会重新申请新的内存。
a=10
b=20
b='abc'
b=[10,20,30]
3.为什么python可以直接计算9999**9999 -申请的时候会先提前计算存储这个数据需要多大的内存,需要多大就申请多大
4.补充1:获取内存地址的工具:id(变量)
x=100
print(id(x)) #8791247954800
x=200
print(id(x)) #8791247958000 重新赋值后地址不一样,内存不一样。
5.补充2:计算机内存单位
位(bit
字节(bytes)=8位
1kb=1024字节
1mb=1024kb
1GB=1024mb
1T=1024Gb
3.数字运算符
1.数学运算符
1.:+(加)、-(减)、*(乘)、/(除)、%(取余(求、取模(取余数))、//(整除,取整)、**(幂运算)
2.+(加)、-(减)、*(乘)、/(除)
3.+、-、*、/的功能和数学中的功能一模一样,
4.+、-、*操作,操作中的数据有浮点数结果就是浮点数,都是整数结果就都是整数。
5./的结果一定是浮点数 列如4/2=2.0
print(5+2) #7
print(5-2) #3
print(5*2) #10
print(5/2) #2.5
print(4/2) #2.0
6.2.%-取余、取模(求余数)
1.x%y -求x除以y的余数
print(10%3) #1
print(15%4) #3
print(10%5) #0
应用场景1:判断整除关系(判断一个数是否能被另外一个数整除)-如果两个数存在整除关系,那它们余数是0
num=214
print(num%2) #0
应用场景2:取整数的低位数,对10或者10的N次幂取余,以此类推。
num=1234
print(num%10) #4
print(num%100) #34
被除数=除数商+余数 余数=被除数-除数商 向小取整
print(10 // 3, 10 % 3) # 3 1
print(-10 // 3) # -4 -10-(-12)=2
7.3.// - 整除 : x//y - 求x除以y的商,商向小取整
print(9//4) #2
print(-9//4) #-3
应用场景1:(在知道两个数能整除的情况下)获取整型的商
print(8/2) #4.0
print(8//2) #4
应用场景2:整数去掉低位数,保留高位数 对10或者10的n次幂进行整除
num=324
print(num//10) #32
print(num//100) #3
num=3677892
print(num%100//10)
print(num//10%10)
8.** 幂运算 :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
print(4 ** (-1 / 2)) # 0.5
4.比较运算符
1.比较运算符:>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)、!=(不等于)
2.说明:所有的比较运算符的运算结果都是布尔
print(10 > 30)
print(10 >= 10)
print(10 == 10)
num = 23 # 能否被4整除
print(num % 4 == 0)
num = 2.34
print(type(num) == float)
age = 18
print('是否成年:', age >= 18)
3. python的比较运算符支持连写表示范围
num = 2
print(0 <= num <= 1)
4.[0,1],(0,1),[0,1),(0,1] []包含和()未包含
5.逻辑运算符
逻辑运算符: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
#1: 获得奖学金的条件:绩点不低于3.5,并且操评分大于90
# 条件1:gpa >= 3.5
# 条件2:score > 90
gpa = 3.5
score = 95
print("是否能获取奖学金",gpa >= 3.5 and score > 90)
# 2:判断num是否能够同时被3和7整除
num=23
print('num是否能够同时被3和7整除:', num % 3 == 0 and num % 7 == 0)
# gpa = float(input('请输入你的绩点:'))
# score = float(input('请输入你的成绩:'))
# print("是否能获取奖学金",gpa >= 3.5 and score > 90)
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
# 1:判断num是否能够同时被3或者7整除
num=28
print('num是否能够同时被3和7整除:', num % 3 == 0 or num % 7 == 0)
# 练习:判断指定的年是否是闰年
# 闰年分为普通闰年和世纪闰年两种, 普通闰年 - 能被4整除但是不能被100整除的年;世纪闰年 - 能被400整除的年
year = 200
print('是否是闰年:', (year % 4 == 0 and year % 100 !=0) or (year % 400 == 0))
3 . not - 逻辑非运算
1.运算规则: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整除
# 不能同时被3和7整除: 能被3整除但不能被7整除、能被7整除但不能被3整除、既不能被3整除也不能被7整除。
# 能被3整除但不能被7整除:num % 3 == 0 and num % 7 != 0
# 能被7整除但不能被3整除:num % 7 == 0 and num % 3 != 0
# 既不能被3整除也不能被7整除:num % 37 != 0 and num % 3 != 0
print((num % 3 == 0 and num % 7 != 0) or (num % 7 == 0 and num % 3 != 0) or (num % 37 != 0 and num % 3 != 0))
# 方法2:反向写条件
# 反向写条件: num能同时被3和7整除
print(not num % 21 ==0)
# 判断x是否是数字类型
x='12'
print(type(x) != int and type(x) != float )
6.赋值运算符
赋值运算符:=、+= -= *=、/= %= //= **=
注意1:所有的赋值运算符的作用都是将某个数据保存到某个变量中
# 1.=
a = 10
2.+= -= *=、/= %= //= **=
变量+=数据 - 将变量中保存的数据和+=后面的数据进行加法运算,再把运算结果赋值给变量
注意:这里的变量必须是已经赋值过的变量
# b += 10 报错
c = 10
c += 2 # c = c + 2 12
print(c)
c = 10
c -= 3 # c = c-3 7
print(c)
c = 10
c %= 3 # c = c % 3 1
print(c)
10 + 20
10 > 20
a = 10
print(10 + 20)
print(10 > 20)
# print(a = 10) #报错!
m = 190
print(m-10)
3. 运算符优先级
数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)
数学运算符中:** > *、/、%、// > +、-
有括号先算括号里面的
day2 Python编程⼊入⻔门作业
选择题
- 下列哪个语句在Python中是非法的?(B)
A. x = y = z = 1
B. x = (y = z + 1)
C. x, y = y, x
D. x = y - 关于Python变量,下列列说法错误的是 (D)
A. 变量无须指定类型
B. 变量可以重新赋值
C. 变量⽆须先创建和赋值⽽直接使⽤
D. 同一个变量可以保存不同类型的值 - 下⾯哪个不是Python合法的标识符(B)
A. int64
B. 40XL
C. self
D. stu_name - 下列关于Python语⾔说法错误的是(D)
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程序文件扩展名是( Python file )。
-
在Python中,int表示的数据类型是(整型 )。
-
在Python中,字符串数据需要⽤(‘’)或( “” )包裹。
-
在Python中,布尔类型有( 2 )个值,分别是( True、False )。
-
如果想要查看⼀个数据或者变量的数据类型,可以用(type )函数。
编程题
-
写程序提示⽤户输入⽤户名和密码,并且将输⼊的内容保存到不同的变量中。
use_name=input('请输入你的用户名:') password=input('请输入你的密码:') print(use_name) print(password)
-
使⽤一个print输出3个数据,3个数据在⼀行显示,并且用等号(=)隔开。
print(100,'abc',-100) print(100,'abc',-100,sep='=')
简答题
1操作简单,功能多,可跨平台。扩展性强,开源,面向对象。
3.请写出Python常⻅的应用领域。
1.web应用开发 2.操作系统管理以及自动化脚本 3.科学计算 4.桌面软件 5.服务器软件 6.游戏开发
- 写出你对今日授课内容中有疑问的地方(或者觉得有困难的知识点)。
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 的方法有(CD)。
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中表示空类型的是(空值)。
-
查看变量中数据的类型的函数名是(type)。
-
已知
x = 3 == 3
,执行结束后,变量x的值为(True)。 -
已知
x = 3
,那么执行语句x += 6
之后,x的值为(9)。 -
表达式
3 ** 2
的值为(9),表达式3 * 2
的值为(6),表达式4 ** 0.5
的值为(2)。
编程题
-
写出判断一个数是否能同时被3和7整除的条件语句, 并且打印对应的结果。
例如:输入 21 打印 True, 输入 9 打印 False。 # 判断num是否能够同时被3或者7整除 num=21 print('num是否能够同时被3和7整除:',(num % 3 ==0) or (num % 7 ==0)) 打印 True print('num是否能够同时被3和7整除:',(num % 3 ==0) or (num % 7 ==0)) num=9 打印 False
-
写出判断一个数是否能够被3或者7整除,但是不能同时被3或者7整除的条件语句, 并且打印对应的结果。
例如:输入 14 打印 True, 输入 4 打印 False, 输入 21 打印 False。 #判断是否能够被3或者7整除,但是不能同时被3或者7整除 num=14 print('num是否被3或者7整除但不能被21整除:', (num % 3==0 or num % 7==0) and (num % 21!=0) ) 打印 True num=4 print('num是否被3或者7整除但不能被21整除:', (num % 3==0 or num % 7==0) and (num % 21!=0) ) 打印 False num=21 print('num是否被3或者7整除但不能被21整除:', (num % 3==0 or num % 7==0) and (num % 21!=0) ) 打印 False
-
输入年,写代码判断输入的年是否是闰年,并且打印对应的结果 。(是闰年的条件: 能被4整除但是不能被100整除或者能够被400整除的年)
例如:输入 2020 打印 True, 输入 2011 打印 False # 判断指定的年是否是闰年 # 闰年分为普通闰年和世纪闰年两种, 普通闰年- 能被4整除但是不能被100整除的年;世纪闰年 - 能被400整除的年 year = 2020 print('是否是闰年:', (year % 4 == 0 and year % 100 !=0) or (year % 400 == 0)) 打印 True year = 2011 print('是否是闰年:', (year % 4 == 0 and year % 100 !=0) or (year % 400 == 0)) 打印 False
-
假设今天的上课时间为15678秒,编程计算今天上课时间是多少小时,多少分钟,多少秒;以‘XX时XX分XX秒’的方式表示出来。
例如: 时间 67 秒 —> 0 时 1 分 7 秒 time = 15678 hour = print(15678 // 60 // 60) minute=print((15678//60)-(15678//60//60*60)) second = print(15678 % 60) 打印 4时21分18秒
-
定义两个变量保存一个人的身高和体重,编程实现判断这个人的身材是否正常!
公式:
体重(kg)/身高(m)的平方值
在18.5 ~ 24.9之间属于正常。例如: 输入体重: 55, 输入身高:1.55, 输出: True #判断一个人身材是否正常 weight=55 height=1.55 print(18.5 <= (weight/height)**2 <= 24.9) 打印 False
简答题
-
Python内置数据类型有哪些?
数字、字符串、布尔、bytes、列表、元组、字典、集合。
-
写出你对今⽇日授课内容中有疑问的地⽅方(或者觉得有困难的知识点)。