当前位置:主页 > 软件编程 > Python代码 >

python运算符+条件结构+循环结构

时间:2022-10-14 10:25:36 | 栏目: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

七,随机数

石头剪刀布游戏:

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")

您可能感兴趣的文章:

相关文章