Day2 - 变量与运算符
1. 输入与输出函数
1. 输出函数 - print
控制台显示的内容一定是程序中print打印的内容;如果想要将某个数据显示在控制台,那必须在程序中用print打印它
1) 一次打印一个数据: print(数据)
print(1000)
print('hello word')
print(100 + 200)
2) 同时打印多个数据: print(数据1,数据2,数据3, …)
print(10,20)
print(100,200,'abc')
2. 输入函数 - input
输入函数就是从控制台获取数据到程序中去使用
1) 基本用法
# 变量 = input(输入提示信息)
name = input('请输入你的名字:')
ptint(name) # name = 'gr'
2) input函数不管输入的数据是什么,得到的数据类型都是str(字符串)
类型转换: 类型名(数据)
age = input('请输入你的年龄:')
print(age) # age = '24'
age = int(input('请输入你的年龄'))
print(age < 18) # age = 24
weight = float(input('请输入你的体重(kg):'))
print(weight * 2, '斤')
2. 变量
1. 数据的使用方法
在程序中使用数据的时候应该先将数据保存在变量中,然后再通过使用变量来使用变量中保存的数据
2. 定义变量(创建变量)
语法:
变量名 = 数据 - 等号两侧要写空格,不然等号会有灰色警告
说明:
变量名
由程序员自己命名
2个要求
是标识符
不是关键字
3个规范
见名知义(看到变量名就知道这个变量中保存的是什么数据)
不使用系统的函数名、类名、模块名
所有的字母都小写,多个单词之间用下划线隔开
= - 固定写法
数据
可以是任何有结果的表达式,比如:具体的某种类型的数据、运算结果、函数调用表达式等
name = 'gr'
dog_name = '旺财' # PEP8命名规范
dogName = '旺财' # 驼峰式命名,有些Python版本不支持
a = 10
x = 12.3
y = '上课'
z = 10 + 20
print(z)
3.使用变量
使用变量就是使用变量中保存的数据(数据能做的事情,保存数据的变量都可以做)
注意:变量必须先定义再使用
print(10)
print(a)
print(10 + 20)
print(a + 20)
4.重新给变量赋值
Python中同一个变量可以保存不同类型的值
Python中的变量不区分数据类型,且变量不能强制固定数据类型
xx = 100
print(xx)
xx = 'abc'
print(xx)
3. 运算符
1.数学运算符
+(加)
-(减)
*(乘)
/(除)
%(取余、取模)
//(整除)
**(幂运算)
1. 加减乘除
print(5 + 2) # 7
print(5 - 2) # 3
print(5 * 2) # 10
print(5 / 2) # 2.5
print(6 / 2) # 3.0
# 注意: 除法运算的结果一定是float类型
2. %(取余、取模) - 求余数
x % y - 求x除以y的余数
print(10 % 3) # 1
print(10 % 4) # 2
应用场景1: 判断两个整数之间是否存在整除关系(判断一个数是否能够被另外一个数整除)
num1 = 289
num2 = 3
print(num1 % num2 == 0)
num3 = 78
print(num3 % 2 == 0) # 判断num3是不是偶数
print(num3 % 2 == 1) # 判断num3是不是奇数
应用场景2: 获取整数的低位数
num = 7834
print(num % 10) # 4
print(num % 100) # 34
print(num % 1000) # 834
3. //(整除) - 求商,商向小取整
print(5 / 2) # 2.5
print(5 // 2) # 2
print(3.6 // 2) # 1.0 或 1
print(-5 // 2) # -3
应用场景1: 完整的个数
# 例如: num中有多少个完整的10
num = 7374
print(num // 10)
# 例如: time中有多少个完整的小时
time = 718212
print(time // 3600)
应用场景2: 获取整数的高位数,去掉低位数
num = 2345
print(num // 10) # 234
print(num // 100) # 23
print(num // 1000) # 2
思考: 获取任意一个整数的十位数
# 方法1:
num = 3451
num = num // 10 # num = 345
print(num % 10)
# 方法2:
print(num % 100 // 10)
4. **(幂运算)
x ** y - 求x的y次方
print(3 ** 4)
print(5 ** 2)
print(4 ** 0.5) # 2.0
print(2 ** -2) # 0.25
print(8 ** (1 / 3)) # 2.0
2. 比较运算符
>(大于)、<(小于)、==(等于)、!=(不等于)、>=(大于等于)、<=(小于等于)
比较运算符的运算结果一定是布尔值
print(10 > 20)
print(10 < 20)
print(10 == 20)
print(10 != 20)
num = 29
print(num % 2 == 0)
支持连写表示范围
age = 56
print(18 <= age <= 28)
3. 逻辑运算符
and(逻辑与运算)
or(逻辑或运算)
not(逻辑非运算)
逻辑运算符是用来在程序中连接多个条件形成复合条件的
1. and(逻辑与运算)
应用场景:连接需要同时成立的两个条件,相当于生活中的’并且’
运算规则
True and True - True
True and False - False
False and True - False
False and False - False
# 案例: 判断num是否能够同时被3和7整除
num = 89
print('num是否能够同时被3和7整除:', (num % 3 == 0) and (num % 7 == 0))
# 练习:判断num是否是一个大于10的奇数
num = 78
print('num是否是一个大于10的奇数:', num > 10 and num % 2 != 0)
2. or(逻辑或运算)
应用场景: 如果要求两个或多个条件有一个成立就可以,就用or连接,相当于生活中的’或者’
运算规则
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)
# 练习:判断year对应的年份是否是闰年
# 闰年:闰年分为世纪闰年(能被400整除)和普通闰年(能被4整除但是不能被100整除)两种
year = 1998
print('year对应的年份是否是闰年:', year % 400 == 0 or (year % 4 == 0 and year % 100 != 0))
3. not(逻辑非运算)
应用场景:对某一个条件进行否定,相当于生活中的’不’
运算规则
not True - False
not False - True
# 案例1:写出age不大于18的条件
age = 28
print(not age > 18)
print(age <= 18)
# 案例2:判断num是否不等于100
num = 233
print(not num == 100)
print(num != 100)
4. 赋值运算符
=
+=
-=
*=
/=
%=
//=
**=
注意: 不管是什么样的赋值运算符,它们的目的都是将数据保存到变量中
1. =(赋值符号)
变量 = 数据 - 将=右边的数据直接保存在左边的变量中
a = 10
2. 复合的赋值运算符
变量 += 数据 - 将变量中的数据取出来和后面的数据进行加法运算,最后将计算结果重新赋值给前面的变量
a += 100 # 10 + 100 -> 110; a = 110
print(a) # 110
b = 100
b -= 20 # 100 - 20 -> 80; b = 80
print(b) # 80
b *= 2 # 80 * 2 -> 160; b = 160
print(b) # 160
b %= 2 # 160 % 2 -> 0; b = 0
print(b) # 0
3. 运算符的优先级
数学运算符 > 比较运算符 > 逻辑运算符 > 赋值运算符(最低)
** > *、/、//、% > +、-
and > or
有括号先算括号里面的 - ( )