运算 (Operators)
在Python中,数字类型用于存储数值,Python支持三种不同的数值类型:
- 整型(int) - 通常被称为是整型或整数,是正或负整数,不带小数点, Python3 整型是没有限制大小的。
- 浮点型(float) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示。
- 复数( (complex)) - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。
数值无法自己主动被打印出来,要想看到计算后的数值,别忘了使用print函数哦~
- 布尔表达式
布尔表达式的结果要么是成立,也称为真(True);要么不成立,也称为假(False),在积木模式下,布尔表达式都用菱形积木来表示。到 Python3 中, True 和 False 被定义成关键字,但它们的值可以用 1 和 0来表示,1表示True,0 表示False。
1. 数字运算
对应代码:
注意对应的代码和数学运算符号是有区别的!
- 四则运算
1+1 1-1 1*1 1/1 #不管是否能被整除,除法总是返回一个浮点数
- 幂运算
2**2 #2的2次方
技术喵提醒
加号不仅可以把数字相加,还可以把字符串、列表相加
- 注意到区别了吗?通过加号的字符串相加中间是没有空格的哦~
不同数据类型的值是不能相加的
布尔值也可以进行四则运算,成立按 “1”处理,不成立按“0”处理。
2. 除法求余数
对应代码:
64 % 10 #计算64除以10的余数,这里得到的值为4
3. 绝对值
对应代码:
abs(-2.5) #计算-2.5的绝对值,|-2.5|这里得到的值为2.5
数学小知识:
4. 比较式
比较表达式为布尔表达式,如果条件成立,则返回True,条件不成立则返回False.
- 对应代码:
0 == 0 #判断两边是否相等
0 != 0 #判断两边是否不相等
0 < 0
0 <= 0 #小于或等于
0 > 0
0 >= 0 #大于或等于
5. 逻辑运算:“且”、“或”
- 对应代码:
and # “且”:两边的条件同时成立,这个布尔表达式才算成立
or # "或":两边只要有一边条件成立,这个布尔表达式就算成立
6. 逻辑运算:”非“
- 对应代码:
not #对当前的布尔表达式取反,如果当前表达式成立,则返回的值为不成立
- 逻辑运算虽然理解起来比较抽象,但是在程序中却有非常大的用处,大家要和他们做好朋友哦~
7. ”是“运算
对应代码:
a is None #判断变量a的值是不是None
含义:
- 上述积木用到了一个新的运算:”是“运算,也就是Python中的”is“运算。在Python中,is判断两个值是否完全相同,注意它和”等于“的区别哦!比如,整数5和浮点数5.0,他们显然是相等的,但是他们的数据类型不同,因此他们不完全相同,如果用is判断的”5是5.0“的话,就会返回False。
- 明白了”是“运算之后,就知道了上面的积木的意义。判断变量a的值是不是None,如果是,返回Ture;如果不是,返回False。
Math库
Python中有很多内置函数,帮助我们快速执行程序。但是要使用更多的功能,还需要引入不同的库,math库提供了大多数我们熟悉的数学函数,在使用任何math 函数前,我们必须先导入它。
- 积木模式下使用math相关的积木,编辑器会自动import math库,但是在代码模式下,一定别忘了手动书写代码引入它哦。
import math
8. 舍入运算
对应代码:
import math math.ceil(3.1) #向上舍入,返回大于该值最小的整数,这里返回4.0 math.floor(3.1) #向下舍入,返回小于该值最大的整数,这里返回3.0
大家试试,如果是负数,向上下取整会返回什么呢?
import math math.ceil(-3.1) #返回 -3.0 math.floor(-3.1) #返回 -4.0
9. 对数运算
- 对应代码:
import math
math.log(10) #自然数e的对数ln10,这里返回 2.30258509299
math.log10(10) #10的对数log10(10),这里返回 1.0
10. 三角函数
- 对应代码:
import math
math.sin(math.radians(45)) #sin(45°)的值
math.cos(math.radians(45)) #cos(45°)的值
math.tan(math.radians(45)) #tan(45°)的值
技术喵提醒:
在Python中,三角函数都是弧度制,即360°=2π,要想得到45°的sin值,必须写为
math.sin(0.25*math.pi)
, 这样的写法比较复杂,所以积木模式下,在里面又嵌套了一个函数math.radians()
,这个函数可以把角度直接转为弧度值,小伙伴们在积木模式下,只需要输入对应的角度;但是在代码模式下,要注意这个小细节哦,否则得到的值可能跟你想要的结果是不一样的。
11. 反三角函数
- 对应代码
import math
math.asin(0.5) #返回 arcsin(0.5)的值,返回弧度角的值:0.523598775598,也就是1/6*π,转角度制为30°
math.acos(0.5)
math.atan(0.5)
12. 算数平方根
- 对应代码:
import math
math.sqrt(0) #计算数值的算数平方根,返回一个浮点数,这里返回 2.0
13. 阶乘
- 对应代码:
import math
math.factorial(5) #计算5的阶乘,也就是 5*4*3*2*1=120,这里返回120
- 技术喵提醒:
- 阶乘运算的公式为n!=n*(n-1)! , 1! = 1。例如:5! = 5x4x3x2x1=120,4! = 4x3x2x1=24。
- 若在积木中输入浮点数,则系统会自动向下舍入取整。
14. 常量:π、e
对应代码:
import math math.e math.pi
含义:
上述两个常量积木,分别代表数学上的固定常量自然常数e和圆周率π.
e 和 π都是无限不循环小数,打印出来为一定位数的浮点数。
运行结果:
2.71828182846 3.14159265359
random库
同math库类似,random库中包含很多与随机效果相关的函数,并且在使用random库中的函数前,别忘了引用它。
import random
15. 0到1随机浮点数
- 对应代码:
import random
random.random() #从0到1中随机一个浮点数
- 技术喵提醒:
- 这是random库中最基本的一个随机函数,使用该函数就可以实现大部分其他随机函数的效果。
- 返回的随机值的区间是 [0,1), 是一个前闭后开的区间。
16. 随机整数
- 对应代码:
import random
random.randint(1, 100) #1到100中随机一个整数,区间[1,100],前闭后闭,1和100两个值都有可能随机到。
- 技术喵提醒:
- 这里做个思考题,这个随机整数的效果用
random.random()
函数配合数学函数如何表示出来?
- 这里做个思考题,这个随机整数的效果用
17. 随机浮点数
- 对应代码:
import random
random.uniform(1.234, 3.456)
18. 随机列表项
- 对应代码
import random
random.choice([1,2,3]) #随机返回列表中某一项的值