跳转至

表达式Expression

608 个字 64 行代码 2 张图片 预计阅读时间 3 分钟

  • 幂次**
  • 整数除法 \(a//b \equiv \lfloor a/b \rfloor\)
  • 两种特殊的赋值:

    • 连续赋值:a = b = 6
    • 同步赋值:a, b = 4, 5
先计算出等号右边的值,再赋值给等号左边的变量
a = 6
b = 7
a, b = b, a

输入输出

输入

常见的题目输入方式
a,b = map(int, input().split())

list(map(int, input().split()))
#如果数据中有浮点数,直接用int会出错

a = tuple(int(item) for item in input().split())
多行 每行不确定
lst = []
while True:
  m = list(map(int, input().split()))
  lst.extend(m)
  if -1 in m:
    lst.remove(-1)
    break
多行输入
while True:
    try:
        a = input().split()
        print(int(a[0])+ int(a[1]))
    except:
        break
        
###多行输入2
for line in sys.stdin:
    a = line.split()
print(int(a[0]) + int(a[1]))

输出

  • print("面积是:", area)
  • print(a, end=', ')

    • print()里的end=用来指定这次输出之后自动输出什么
    • 默认是\n,表示要换一行
    • 如果要控制输出结果的小数点后的位数,就必须使用格式控制:
    • print(f"面积是:{area:.2f}")
    • 字符串前面的f表示格式字符串,其中的{}中的名字会被同名的变量的值所替换,:后面的内容表示输出的格式(可以省略)
    • .2f表示小数点后保留两位小数的浮点数

format 格式化输出

print({:[fill][align][width]}.format(data))

print("{:.3f}".format(s))
print(format(s, '.3f'))

fill:任意一个字符 , 比如 #* , 默认空格填充 width:字段宽度,如果未指定,那么字段宽度由内容确定,这种情况下的对齐选项没有意义 data:填充的数据 align:对齐方式

a = [3,4,5]
print(*a,sep="->",end = '\n')  # 解包输出
print(f'{a:<4}')#左对齐
print(f'{1.8*shuzhi+32:.2f}')   # 格式字符串的{}里可以做表达式计算

中缀、前缀、后缀

  • 前缀

    !a-b

  • 中缀

    a+ba*b

  • 后缀

进制转换

转化为 10 进制的数可用 int( 待转数字 , 进制单位 ) bin(m)将整数m转化为二进制字符串 oct(m)将整数m转化为八进制字符串 hex(m)将整数m转化为十六进制字符串

image-20230405210620174

  • 变量记得赋初值

取整计算

round( x,n )
## n -- 表示小数位数
当参数n不存在时round()函数的输出为整数
当参数n存在时即使为0round()函数的输出也会是一个浮点数
此外n的值可以是负数表示在整数位部分四舍五入但结果仍是浮点数

print(round(123.45)) # 123
print(round(123.45,0)) # 123.0
print(round(123.45,-1)) # 120.0
### 向下取整
int(a)

### 四舍五入
round(a)

###向上取整
math.ceil(a)

###分别取整数部分和小数部分
得到一个元组
math.modf(a)
  • int()
## int()函数

a = 5.6
print(int(a)) #可以
print(int('5.6')) #不行

不过对于 int() 函数的使用,大家要注意一点:

只有符合整数规范的字符串类数据,才能被 int() 强制转换。

其次,文字形式,比如中文、火星文或者标点符号,不可以被 int() 函数强制转换。

最后,小数形式的字符串,由于 Python 的语法规则,也不能使用 int() 函数强制转换。

浮点形式的字符串,不能使用 int() 函数。但浮点数是可以被 int() 函数强制转换的。

注意:1. 文字类和小数类字符串,不能转化为整数

2. 浮点数转化为整数:抹零取整

  • float() 函数:

将其他数据类型转换为浮点数

首先float()函数的使用,也是将需要转换的数据放在括号里,像这样:float( 数据 )

其次,float()函数也可以将整数字符串转换为浮点类型。但同时,如果括号里面的数据是字符串类型,那这个数据一定得是数字形式。

dd2bdf0fe3cf485bfeae0a055fb51a21.png

conditional expressions

<consequent> if <predicate> else <alternative>
#EX
abs(1/x if x!= 0 else 0)