python运算符+条件结构+循环结构
一,算术运算符
+ - * /
print(1+2) 相加
print("1"+"2") 拼接
print("1"+2) 报错,数据类型不同
# /求除数 //求整数 %取模 **幂
print(3/2) 输出1.5
print(3//2) 输出1
print(3%2) 输出1
print(3**2) 输出9
Python中float进行算术运算时,精度丢失问题:
使用Python中的Decimal
模块解决
①.导入Decimal模块
from decimal import Decimal
②.使用
变量 = Decimal("float值")
请注意:float类型的值:必须用双引号包裹
注意:算术运算符的优先级
()高于**高于 * / // %高于 + -
数据库中针对钱,使用Decimal,导入方式如下:
# 单精度(32位)floot
# 双精度(64位)double
# 计算机的底层都是二进制(小数不能完美转成二进制)
# 数据库中如果针对钱 Decimal(10,2) decimal是字符串小数
print(0.2-0.1)
print(0.6-0.4)
print(Decimal(0.6) - Decimal(0.4))
print(Decimal("0.6") - Decimal("0.4"))
控制台输出:
0.1
0.19999999999999996
0.1999999999999999555910790150
二,赋值运算符
多个变量赋值,格式: 变量1,变量2,变量3 = 值1,值2,值3
a,b,c=1,2,3
多个变量赋相同值,格式:变量1=变量2=变量3=值
a=b=c=1
三,比较运算符
> < >= <= != <>
有a+=1,a/=2,a*=2,a-=2,但是没有a++
注意:比较运算符的特殊情况
四,逻辑运算符
java中的逻辑运算符 : &&并且 //或者
python中的逻辑运算符: and并且 or或者
①and运算符
只要有一个值为0,则结果为0,否则结果为最后一个非0的数字
②or运算符
只有所有的值为0结果才为0,否则结果为第一个非0数字
print(True and False)
# 先并且,再或者
print(True and False or True)
# 在python中 0为false,其他数字为true
print(1 and 2)
print(1 and 2 and 0 and 1)
print(1 or 2 or 0 or 1)
控制台输出:
False
True
2
0
1
五,位运算符
<< 二进制位数往左边移动
# 6 110
# print(6<<2)即11000即24
print(6<<2)
>> 二进制位数往右边移动
# print(6>>2)即1即1
print(6>>2)
& 按位与:位数都为1,则为1,否则为0
# 6 110
# 3 011
# 010控制台输出2
print(3&6)
| 按位或:位数有1,则为1,否则为0
# 6 110
# 3 011
# 111控制台输出7
print(3|6)
^ 按位异或:位数相同为0,不同为1
# 6 110
# 3 011
# 101控制台输出5
print(3^6)
# 2,4,8,16,32....
# 10,100,10000,10000,100000...
# 1,11,111,1111,11111....
print(4&(4-1)) 输出0
print(8&(8-1)) 输出0
print(9&(9-1)) 输出8
二进制:0,1
八进制:0-7
十进制:0-9
十六进制:0-9 a-f
六,条件运算符
# 条件后移
a=1
b=2
print(a if a>b else b)
输出2
七,随机数
- ①.导入random模块,import random
- ②.使用random模块中随机数功能,r
andom.randint
(开始,结束),注意:包含开始位置和结束位置
石头剪刀布游戏:
ls=["1,✂ ","2,?"," 3,?"]
u=int(input("请输入[1,✂ 2,? 3,?]"))
c=random.randint(1,3)
win=1 if c+1==4 else c+1
print(f"电脑出了{ls[c-1]},玩家出了{ls[u-1]}")
if u==win:
print("你赢了")
elif u==2:
print("平局")
else:
print("你输了")
控制台:
请输入[1,✂ 2,? 3,?]1 ---------手动输入
电脑出了 3,?,玩家出了1,✂
你赢了
进程已结束,退出代码为 0
八,条件结构
1,if语句
语法格式,if 条件:
代码块
注意:缩进关系【4个空格或一个Tab制表符】
2,if-else语句
语法格式,if 条件:
代码块
else:
代码块
3,if-elif-else语句
语法格式,if 条件1:
代码块
elif 条件2:
代码块
else:
代码块
4,if嵌套
语法格式,if 条件:
代码块
if 条件:
代码块
else:
代码块
九,循环结构
1,while循环
语法,while 条件:
代码块
# 使用while输出1~100的数字
a=1
while a<=100:
print(a)
a+=1
2,循环终止
break : 终止循环
continue :退出当前一次循环,继续执行下次循环
# if,while,for都有else
for i in ls:
print(i)
if i>5:
break
else:#只要上面的代码没有break就执行
print("yes")
3,for循环
语法,for 临时变量 in 列表:
代码块
ls=[1,2,3,4,5,6,7,8]
sum=0
for i in ls:
print(i)
sum+=i
print(sum/len(ls))
print(sum/len(ls))
# range(3) [0,1,2]
for i in range(3):
print(i)
# 200~300
for i in range(101):
print(i+200)
4,循环结合else使用
①while...else
语法,while 条件:
代码块
else:
代码块
②for...else
语法,for 临时变量 in 列表:
代码块
else:
代码块
# if,while,for都有else
for i in ls:
print(i)
if i>5:
break
else:#只要上面的代码没有break就执行
print("yes")
到此这篇关于python运算符+条件结构+循环结构的文章就介绍到这了,更多相关python结构内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341