变量与运算符
-
变量
1.变量就是保存数据
使用方式:先将数据保存到变量中,然后在需要数据的时候通过变量来提供数据
age=18 print(age)
2.变量的要求和规范
1) 两个要求:是标识符,不是关键字
三个规范:1.见名自义,看待变量名就知道这个变量中保存的数据,
2.所有的字母都小写,多个单词之间用下划线隔开, dog_name=‘旺财’
3.不使用系统函数名(print、input、type),类名(int、float、str、bool)和模块名2)使用变量,就是使用变量中保存的数据
3)变量必须先定义,再使用
4)修改变量值:后赋值会覆盖原来的数据
age=18 print(age) age=19 print(age)
5)同时定义多个变量赋值相同的值:变量名1=变量名2=变量名3=数据
同时定义多个变量赋不同的值,前面变量的个数必须和后面的个数保持一致a,b=1,2 print(a,b)
3.交换两个变量的值
v1=100
v2=320方法1 t=v1 v1=v2 v2=t print(v1,v2) 方法2 v1,v2=v2,v1 print(v1,v2)
-
数学运算符
数学运算符:+,-,*,/,%(余数),//(整除),**(幂运算)
1)+,-,*,/,
和数学中的一样
注意:除法运算的结果类型一定是浮点型
2)取余数-%
x%y 求x除以y的余数
print(10%3) 1 print(15%4) 3
应用1:判断两个数是否存在整除关系(判断两个数的余数是否为0)
num=100 print(num%2) 0
应用2:取整数的低位数(让整数对10或者10的幂次方进行取余操作)
num=3789 print(num%10) 9 print(num%100) 89 print(num%1000) 789
3)** 幂运算
x**y 就是求x得y次方
print(2**3) 8 print(3**5) 243 print(16**0.5) 4.0 print(8**(1/3)) 2.0 print(3**-2) 0.111111111 print(2**-2) 0.25
4)整除 //
x//y 就是 求x除以y的商,商向小取整数
print(5//2) 2 print(-5//2) -3
应用1.去掉一个正整数的低位数,保留高位数
num=2733 print(num//1000) 2
练习 获取任意一个正整数的10位数
num=23489 方法1 print(num%100//10) 23489除以100取余数为89,89再除以10取商的整数,结果8 方法2 print(num//10%10) 23489除以10取商的整数为2348,再除以10取余数,结果为8
-
比较运算符
比较运算符分类:>(大于),<(小于),>=(大于等于),<=(小于等于),==(等于),!=(不等于)
注意:所有的比较运算的结果都是布尔值,成立的是True,不成立的是Falsex=0.23 print(0<=x>=1) False age=17 print(age>=18) Fslse
-
逻辑运算符
逻辑运算符:and(逻辑与运算)、or(逻辑或运算)、not(逻辑非运算)
and
1.应用场景:如果需要两个条件同时满足,就用and来连接这两个条件,相当于生活中的并且
2.运算规则:条件1 and条件2 如果两个都是True结果就是True,只要有一个False结果就是 Flase1.判断num是否同时被3和7整除 num=23 num能被3整除:num%3==0 能否被7整除:num%7==0 print('num是否同时被3和7整除:',num%3==0 and num%7==0) 结果:num是否同时被3和7整除: False 2.判断num是否是大于10的偶数的条件 num=34 num是否大于10 num>10 num是否是偶数 num%2==0 print('num是否大于10的偶数:',num>10 and num%2==0) 结果:num是否大于10的偶数: True
or
or 逻辑或运算
应用场景:如果需要两个或者多个条件中有一个条件成立就行,就将两个或者多个条件用or连接相当于生活中的或者
运算规则:条件1 or 条件2 如果两个条件都是False结果才是False,只要有一个是 Tuer,结果就是 Ture练习:
1.判断num是否能被3或者4整除的条件 num=234 print('num是否能被3或者4整除:',num%3==0 or num%4==0) 结果为:num是否能被3或者4整除: True 2.写出判断指定的年是否是闰年的年 闰年分为世纪闰年(能被400整除的年)和普通闰年(能被4整除但是不能被100整除的年)两种 num=2003 print('num是否是闰年:',num%400==0 or (num%4==0 and num%100!=0)) 结果为:num是否是闰年: False
not
not逻辑非 应用场景:对一个条件进行否定相当于生活中的不 运算规则:not条件 对指定条件进行否定 age不大于12的条件 age=27 print(not age>12) print(age<=12) 写出num是否不能同时被3和7整除的条件 num=21 print(not (num%3==0and num%7==0))
-
赋值运算符
赋值运算符:=、+=、-=、*=、/=、%=、//=、**=
变量 += 数据 :将变量中保存的数据取出来 和后面的数据进行加法运算 再将结果重新赋值给变量
注意:复合的赋值运算符前面的变量必须是已经定义过的变量
赋值运算表达式没有结果运算符优先级
1.所有的数学运算符>比较运算符>逻辑运算符>赋值运算符(最低)
2.数学运算符的优先级***>、、/、%、//、>+、-
3.有括号先算括号里面的
-
分支结构
根据代码执行过程不同,可以将代码的结构分为三种
1.顺序结构(默认):代码从上往下依次执行,并且每一条语句只执行一次
2.分支结构(if) :根据条件选择性的执行代码
3.循环结构(for、while):让代码重复执行
分支结构
if单分支结构: 如果 xxx 就 xxx
1.应用场景:满足条件才执行某个操作,条件不满足的时候这个操作就不执行
2.语法:先写if,再写条件语句,冒号(一定是英文的冒号),换行缩进一个Tab键,再写代码段
if 条件语句:
代码段
age=19
根据age的值打印成年
if age>=18:
print('成年') 结果为成年
双分支结构 如果xxx就xxx否则就xxx
就是再单分支结构基础上再加一段else和第二个代码段,满足执行第一个,不满足执行第二个
if 条件语句:
代码段(满足条件会执行)
else:
代码段2(条件不满足的是很好会执行)
根据age的值打印成年或者未成年
age=19
if age>18:
print('成年')
else:
print('未成年')