Skip to content

Commit ecb85cb

Browse files
committed
数字类型及操作
1 parent 07c3df9 commit ecb85cb

File tree

2 files changed

+321
-4
lines changed

2 files changed

+321
-4
lines changed

2.3-PythonDraw-import-as.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
t.pendown() # 落笔,落笔后行进画笔将形成轨迹
77
t.pensize(25) # 笔的大小
88
t.pencolor("red") # 笔的颜色
9-
t.seth(-40) # 改变角度为-40度
10-
for i in range(4):
9+
t.seth(-40) # 改变角度为-40度(绝对角度-40度,即x轴顺时针40度)
10+
for i in range(4): # 循环4次
1111
# 组合形成波浪线
1212
t.circle(40, 80) # 画曲线 (以画笔左侧距离40像素为圆心画80度的曲线)
1313
t.circle(-40, 80) # 画曲线 (以画笔右侧距离40像素为圆心画80度的曲线)
1414
t.circle(40, 40) # 画曲线 (以画笔左侧距离40像素为圆心画40度的曲线,使画笔回归到x轴线方向)
1515
t.fd(40) # fd向前行进40像素
1616
t.circle(16, 180) # 画曲线 左16像素180度曲线
1717
t.fd(40 * 2/3) # 向前行进 40的三分二
18-
t.done() # 完成
18+
t.done() # 完成(作用是在绘制完成后窗体不会自动退出,不设置此函数时,在绘制完成后会自动退出窗体。)

README.md

+318-1
Original file line numberDiff line numberDiff line change
@@ -1163,7 +1163,7 @@ turtle.goto(x, y) # 让海龟去到该坐标
11631163

11641164

11651165

1166-
1166+
**逆时针角度值为正数,顺时针角度值为负数!**
11671167

11681168
x轴 表示 0 或 360度
11691169

@@ -1407,6 +1407,323 @@ turtle.circle(-100) # 以右侧距离100像素为圆心,画360整圆
14071407

14081408

14091409

1410+
#### 3.4 turtle方向控制函数
1411+
1412+
控制海龟面对的方向:绝对角度&海龟角度
1413+
1414+
1415+
1416+
##### turtle.setheading(angle) 别名 turtle.seth(angle)
1417+
1418+
改变行进方向,海龟的角度
1419+
1420+
angle: 绝对角度值,逆时针正数,顺时针负数。
1421+
1422+
```python
1423+
turtle.seth(45) # x轴向上的45°
1424+
turtle.seth(-135) # x轴的向下135°,即x轴顺时针走135°
1425+
```
1426+
1427+
1428+
1429+
##### turtle.left(angle)
1430+
1431+
海龟向左转
1432+
1433+
angle: 海龟当前方向上旋转的角度(相对角度)
1434+
1435+
1436+
1437+
##### turtle.right(angle)
1438+
1439+
海龟向右转
1440+
1441+
angle: 海龟当前方向上旋转的角度(相对角度)
1442+
1443+
1444+
1445+
**注意:方向控制函数只改变海龟的方向,并不会形成轨迹。**
1446+
1447+
1448+
1449+
### 4、循环语句和range()函数
1450+
1451+
1452+
1453+
##### 循环语句
1454+
1455+
按照一定次数循环执行的一组语句,**使用for和in关键字来实现**
1456+
1457+
```python
1458+
# 语法
1459+
for <变量> in range(<参数>):
1460+
<被循环执行的语句>
1461+
1462+
# <变量>:表示每次循环的计数,0 到 <次数>-1
1463+
# <参数>:循环的次数
1464+
1465+
#例:
1466+
for i in range(5):
1467+
print(i)
1468+
1469+
# 打印:0 1 2 3 4
1470+
```
1471+
1472+
1473+
1474+
1475+
1476+
##### range()函数
1477+
1478+
产生循环计数序列
1479+
1480+
* range(N)
1481+
1482+
产生0 到 N-1 的整数序列,共N个。
1483+
1484+
```python
1485+
range(5)
1486+
# 0,1,2,3,4
1487+
```
1488+
1489+
* range(M, N)
1490+
1491+
产生M到N-1的整数序列,共N-M个。
1492+
1493+
```python
1494+
range(2, 5)
1495+
# 2,3,4
1496+
```
1497+
1498+
1499+
1500+
1501+
1502+
## 七、数字类型及操作
1503+
1504+
### 1、整数
1505+
1506+
#### 1.1 概念
1507+
1508+
与数学中整数的概念一致
1509+
1510+
* 可正可负,没有范围限制
1511+
* pow(x, y)函数:计算x的y次方
1512+
1513+
1514+
1515+
1516+
1517+
#### 1.2 pow(x, y)函数:计算x的y次方
1518+
1519+
```python
1520+
>>> pow(2,3)
1521+
8
1522+
```
1523+
1524+
1525+
1526+
#### 1.3 整数类型
1527+
1528+
4种进制表示形式
1529+
1530+
* 十进制:1 , 2 ,100, -120
1531+
* 二进制:以0b或0B开头,0b010、-0B101
1532+
* 八进制:以0o或0O开头,0o123、-0O456
1533+
* 十六进制:以0x或0X开头,0x9a、-0X89
1534+
1535+
1536+
1537+
1538+
1539+
### 2、浮点数
1540+
1541+
#### 2.1 概念
1542+
1543+
与数学中实数的概念一致
1544+
1545+
* 带有小数点及小数的数字
1546+
* 浮点数取值范围和小数精度都存在限制,但常规计算可忽略
1547+
* 取值范围数量级约-10的308次方 和 10的308次方,精度数量级10的-16次方
1548+
1549+
1550+
1551+
#### 2.2 浮点数运算的问题
1552+
1553+
浮点数间运算存在**不确定尾数**,不是bug
1554+
1555+
```python
1556+
>>> 0.1+0.2
1557+
0.30000000000000004 #不确定尾数
1558+
>>> 0.1+0.3
1559+
0.4
1560+
>>> 0.1+0.2 == 0.3
1561+
False
1562+
>>> round(0.1+0.2, 1) == 0.3 # 使用round()四舍五入函数解决 不确定尾数的问题
1563+
True
1564+
>>>
1565+
```
1566+
1567+
1568+
1569+
#### 2.3 造成不确定尾数的原因
1570+
1571+
不仅在python有这个问题,其他语言也会有同样的问题,这涉及到计算机内部运算的原理
1572+
1573+
计算机中如何表示0.1?
1574+
1575+
53位二进制表示小数部分,约10的-16次方
1576+
1577+
0.00101010101010101001011110101010101010101010101010110101010(二进制小数)
1578+
1579+
计算机中二进制和十进制不存在严格的对等关系,0.1在用二进制表示的时候,它是一个无限的小数,计算机只能解决53位,尽量的接近0.1,但它并不是真正的等于0.1。
1580+
1581+
转成十进制后会有一个尾数:
1582+
1583+
0.10000000000000000546567234687236487236478236482109820349820(十进制表示)
1584+
1585+
在计算机中输出的时候,只输出了16位小数。
1586+
1587+
1588+
1589+
**二进制表示小数,可以无限接近,但不完全相等。**
1590+
1591+
1592+
1593+
1594+
1595+
#### 2.4 round(x, d) 四舍五入
1596+
1597+
对x四舍五入,d是小数截取小数
1598+
1599+
* 浮点数间运算及比较时用round()函数辅助
1600+
* 不确定尾数一般发生在10的-16次方左右(即小数点后16位左右),round()十分有效
1601+
1602+
1603+
1604+
#### 2.5 浮点数可以用科学计数法表示
1605+
1606+
使用e或E作为幂的符号,以10为基数,格式如下:
1607+
1608+
```python
1609+
# <a>e<b> 表示a*10的b次方
1610+
#例:
1611+
4.3e-3 表示 0.00434.3*10-3次方) 4.3小数点向前移动3
1612+
9.6E5 表示 960000.09.6*105次方) 9.6小数点向后移动5
1613+
```
1614+
1615+
* 通过科学计数法可以表示非常大的或非常小的浮点数
1616+
1617+
1618+
1619+
1620+
1621+
### 3、复数类型
1622+
1623+
#### 3.1 概念
1624+
1625+
与数学中复数的概念一致
1626+
1627+
> 在众多编程语言中,只有python有复数。
1628+
1629+
1630+
1631+
**数学中复数的概念:**
1632+
1633+
x的平方=-1 ,那么x的值是什么?
1634+
1635+
> 任何数的平方不能是负数,所以x一定不是实数。
1636+
1637+
* 定义 j=根号(-1),以此为基础,构建数学体系
1638+
* a+bj 被称为复数,其中,a是实部,b是虚部
1639+
1640+
1641+
1642+
#### 3.2 例子
1643+
1644+
```python
1645+
z = 1.23e-4+4.5e+89j
1646+
1647+
# z是复数类型,因为计算当中有89j
1648+
# 实部是什么? z.real 获得实部
1649+
# 虚部是什么? z.imag 获得虚部
1650+
```
1651+
1652+
1653+
1654+
在常规计算机编程中很少使用复数类型,但是它在进行空间变换,尤其是跟复变函数相关的科学体系中常用的一种类型。
1655+
1656+
1657+
1658+
### 4、数值运算操作符
1659+
1660+
+加、- 减、* 乘、/ 除、// 整除(10//3 结果是3)
1661+
1662+
1663+
1664+
+x 表示x本身
1665+
1666+
-x 表示x的负值
1667+
1668+
x % y 余数,模运算, 10%3 结果是1
1669+
1670+
x ** y **幂运算**,x的y次幂。当y是小数时,表示**开方运算**, 10 ** 0.5 是根号10
1671+
1672+
1673+
1674+
二元操作符:
1675+
1676+
x+=y、x-=y、x*=y、x/=y、x//= y、x%=y x**=y
1677+
1678+
```python
1679+
x += y # 与 x = x+y 相同
1680+
```
1681+
1682+
1683+
1684+
##### 整数与浮点数计算,得到浮动数
1685+
1686+
```python
1687+
>>> 123+4.0
1688+
127.0
1689+
```
1690+
1691+
1692+
1693+
### 5、数值运算函数
1694+
1695+
#### 5.1 abs(x) 取绝对值
1696+
1697+
```python
1698+
abs(-10.01) # 10.01
1699+
```
1700+
1701+
#### 5.2 divmod(x,y) 商余操作
1702+
1703+
```python
1704+
# 商余,(x//y,x%y),同时输出整数除和余数
1705+
>>> divmod(10,3)
1706+
(3, 1)
1707+
```
1708+
1709+
1710+
1711+
1712+
1713+
1714+
1715+
1716+
1717+
1718+
1719+
1720+
1721+
1722+
1723+
1724+
1725+
1726+
14101727

14111728

14121729

0 commit comments

Comments
 (0)