@[toc](Python 入门 到 精通(三))
上篇文章大家已经认识了 Python,这边文章我们将继续深入了解 Python,认识Python的 运算符、分支语句、循环
运算符分类:
算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、条件运算符(三目运算符/三元运算符)
①.算术运算符:+ - * / %
+ :
如果两边是数字,则会进行相加计算;
如果两边是字符串,则会进行字符串拼接
比如:
2+3:结果为5
"hello"+"world":结果为"hello world"
- :
如果两边是数字,则会进行相减计算;
特殊情况也可以和True/False进行计算,因为True的取值为1,False的取值为0
比如:
5-3:结果为2
5-True:结果为4
5-False:结果为5
* :
如果两边为数字,则会进行相乘计算;
如果将字符串和数字进行相乘,则会进行字符串复制;
比如:
3*2:结果为6
“hello”*2:结果为"hellohello"
** :
幂运算
比如:
2**2:结果为4
3**2:结果为9
/ :
如果两边为数字,则会进行相除计算;
但是使用/可能会出现除不尽的情况
比如:
6/2:结果为3
10/3:结果为3.3333333333333335
// :
整除,在除不尽的情况下,取整
比如:
10//3:结果为3
% :
取模,就是求余数
比如:
10%3:结果为1
②.赋值运算符:把等号右边的值赋给等号左边的变量,赋值运算包含( =、+=、-=、*=、**=、/=、//=、%= )
比如:
a = 5
a+=5 等价 a=a+5
a-=5 等价 a=a-5
a*=5 等价 a=a*5
a**=5 等价 a=a**5
a/=5 等价 a=a/5
a//=5 等价 a=a//5
a%=5 等价 a=a%5
③.比较运算符,也被称为关系运算符,比较运算符是比较两个值之间的关系,结果为True或者False,比较运算符包含( >、>=、<、<=、==、!= )
两个整数之间的比较,就不演示了,给大家演示一下比较运算符的特殊情况:
数字和布尔类型比较:
比如:3>True,结果为True
两个字符串进行比较,比较的是Unicode编码,通过函数ord('字符')可以获取字符相对应的Unicode编码
比如:
单个字符串比较:'a'>'b',‘1’<2'
多个字符串比较:'ab'>'ac','11'<'2',先比较第一位,若前一位相等,则比较后一位。
④.逻辑运算符:and(与)、or(或)、not(非)
口诀:
and(与):只要有一边为False,结果为False
or(或):只要有一边为True,结果为True
not(非):对结果进行取反
特殊情况,比如:
True and print('语句'),会执行后面的打印或者执行后面的表达式
⑤.位运算符:&(按位与)、|(按位或)、^(按位异或),位运算,左右两边是数字,是把数字转换成二进制再进行运算
比如:
3&2:结果为2
3|2:结果为3
3^2:结果为1
⑥.条件运算符(三目运算符,三元运算符)
语法:
语句1 if 条件表达式 else 语句2
如果条件表达式对,则执行语句1,否则执行语句2
比如:
print('a的值比较大') if a>b else print('b的值比较大')
a if a>b else b
Python的分支语句有三种情况:
if语句
if-else语句
if-elif-else语句
①. if 语句
语法格式:
if 表达式:
代码块
比如:
if 3>2:
print("正确")
②. if-else 语句
语法格式:
if 表达式:
代码块
else:
代码块
比如:
if 3>2:
print("正确")
else:
print("错误")
③. if-elif-else 语句
语法:
if 表达式:
代码块
elif 表达式:
代码块
elif 表达式:
代码块
else:
代码块
比如:
age=18
if age<3:
print("婴儿")
elif 3<=age<=12:
print("儿童")
elif 12
if 嵌套
语法:
if 表达式:
代码块
if 表达式:
代码块
else :
代码块
①. 导入 random 模块
import random
②. 使用 random 模块中的随机数功能
random.randint(开始,结束)
注意:包含开始位置和结束位置
Python中的循环分为两种:
while 和 for 循环
本篇文章重点讲解while,for循环请看下回分解。哈哈哈 ♪(∇*) (●’◡’●)
while 循环:
while循环语法:
while 表达式:
代码块
比如:打印1-10
i=0
while i<=10:
print(i)
i+=1
break:跳出循环
continue:结束本次循环,继续下次循环
for 循环:
for循环语法:
for 临时变量 in 列表 :
代码块
循环结合 else 使用:
while…else
语法:
while 条件:
代码块
for…else
语法:
for 临时变量 in 列表 :
代码块
else :
代码块
大家可以参考我的另一篇博客,任务的话,玩一下还是阔以滴:Python 开发 猜拳游戏&九九乘法表&多数求和
本章代码总汇:
# Python中float进行算术运算是,精度丢失:使用Python中的Decimal模块解决
# 导入模块
# ① 导入Decimal模块 : from decimal import Decimal
from decimal import Decimal
# ② 使用 : 变量 = Decimal("float值")
import random
"""
运算符:
算术运算符、逻辑运算符、比较运算符、三元运算符(条件运算符)、赋值运算符
位运算符
"""
sa = """
算术运算符: + - * / % ** //
()高于 ** 高于 * / // % 高于 + -
"""
print(sa)
# + :两个数值相加,求加法;两个字符串相加,就是拼接功能
print(3+1)
print("a"+"b")
a = Decimal("2.3")
b = Decimal("1.9")
c = Decimal("4.2")
# 精度丢失问题
print( (a+b) == c)
# 特殊 false-0 true-1
print(int(False))
print(True - False)
# * 将字符串打印两边
print("hello"*2)
print("1"*2)
# ** 几次幂
print(3 ** 3)
print(25 ** 0.5)
# / 除
print(7 / 3)
# // 求整
print(3 // 2)
# % 求余数
print(10 % 3)
print(2 ** 2 * 3)
print(3 * 2 ** 2)
print(6 + 8 - 3 ** 2 + (1+5) / 2 * 3 + 2 ** 2)
a = 2
a += 2
a -= 2
a *= 2
a **= 2
a /= 2
a //= 2
a %= 2
print(a)
print("****************************")
sb = """
赋值运算符
"""
print(sb)
# 同时给多个变量进行赋多个值
name, age, gender = "红红", 99, "女"
print(name, age, gender)
# 同时给多个变量赋同一个值
num1 = num2 = num3 = 22
print(num1, num2, num3)
print("****************************")
sc = """
比较运算符: True False
"""
print(sc)
print(3 > 2)
print(3 > True)
print(ord(","))
print(f"{a} , {b} , {c}")
print("," > "b")
print(ord(",") > b)
print("1" < "2")
print("11" < "2")
print("abc" < "aba")
print("****************************")
sd = """
逻辑运算符
Java: & | ! &&(短路与)
例:
3 > 2 & 2 < 3
3 > 2 && 2 < 3
Python: and(与) (or)或 not(非)
"""
print(sd)
print((3 > 2) and (2 < 3))
# 特殊用法
# 两个整数之间也可以用逻辑运算符
print("*** and: 从右往左 ; 若有一个0 输出0")
print(3 and 5)
print(5 and 3)
print(0 and 0)
print(0 and 2)
print(2 and 0)
print("*** or:从左往右 ; 两边都为0 输出0")
print(3 or 5)
print(5 or 3)
print(0 or 0)
print(0 or 2)
print(2 or 0)
print("****************************")
se = """
位运算符
&:按位与
|:按位或
^:按位异或
位运算,左右两边是数字,是把数字转换成二进制再进行运算
"""
print(se)
print(3 & 2)
print(3 | 2)
print(3 ^ 2)
print("****************************")
sf = """
三元运算符
java格式:条件?结果1 :结果2
Python:true结果 if 条件 else false结果
"""
print(sf)
a = 1
b = 6
print(a==b)
print(f"大的是:{a}") if a > b else print(f"大的是:{b}")
print(f"{a} = {b}") if a == b else print(f"{a} != {b}")
print("****************************")
sg = """
条件运算符
"""
print(sg)
a = 6
b = 3
if a > b:
print("a大")
elif a == b:
print("a=b")
else:
print("b大")
"""uage = int(input("请输入您的年龄:"))
if 0 <= uage < 6:
print("小朋友,欢迎你!")
# elif (uage >= 3) and (uage < 18):
elif 6 <= uage < 18:
print("少年,hello")
elif 18 <= uage <= 108:
print("老了哦")
else:
print("你怕是有毒吧")"""
# 随机数
num = random.randint(0, 10)
print(f"随机幸运数:{num}")
print("**********************")
sh = """
循环语句
终止循环:break
退出当前循环,执行下次循环:continue
"""
print(sh)
i = 7
while i <= 10:
if i == 5:
# i = i + 1
break
print(f"i={i}")
i = i + 1
else:
print("完了,可以下课了")
for j in range(6):
print(j)
else:
print("Over")
"""
while 和 for循环都可以结合else使用
"""