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模块中随机数功能,random.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结构内容请搜索编程宝库以前的文章,希望以后支持编程宝库

 一、效果展示通过Python实现一个电影订票系统,效果如下图所示: 二、整体结构图 三、代码分解3.1 infos.py一部电影的详细信息适合用 字典 结构来存储,我们可以给 ...