forked from daniil-konovalenko/pythontutor-ru
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path1534_03_int_and_float.html
210 lines (182 loc) · 10.6 KB
/
1534_03_int_and_float.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
{% section "Целочисленная арифметика" %}
<p>Для целых чисел определены операции
<code>+</code>, <code>-</code>, <code>*</code> и <code>**</code>. Операция
деления <code>/</code> для целых чисел возвращает вещественное число (значение типа <code>float</code>).
Также функция возведения в степень возвращает значение типа <code>float</code>,
если показатель степени — отрицательное число.
<p>Но есть и специальная операция целочисленного деления, выполняющегося с отбрасыванием
дробной части, которая обозначается <code>//</code> (она соответствует операции <code>div</code> в Паскале).
Она возвращает целое число: целую часть частного. Другая близкая ей операция − это операция взятия остатка от деления,
обозначаемая <code>%</code> (она соответствует операции <code>mod</code> в Паскале).
Например:
{% program %}
print(17 / 3) # выведет 5.66666666667
print(17 // 3) # выведет 5
print(17 % 3) # выведет 2
{% endprogram %}
{% endsection %}
{% section "Действительные числа" %}
<p>В этом разделе речь пойдет о действительных числах, имеющих тип <code>float</code>.
<p>Обратите внимание, что если вы хотите считать с клавиатуры действительное
число, то результат, возращаемый функцией <code>input()</code> необходимо
преобразовывать к типу <code>float</code>:
{% program %}
x = float(input())
print(x)
{% inputdata %}
1.492
{% endinputdata %}
{% endprogram %}
<p>Действительные (вещественные) числа представляются в виде чисел с десятичной точкой (а не запятой, как принято
при записи десятичных дробей в русский текстах). Для записи очень больших или очень маленьких
по модулю чисел используется так называемая запись «с плавающей точкой»
(также называемая «научная» запись). В этом случае число представляется в виде
некоторой десятичной дроби, называемой <i>мантиссой</i>, умноженной на целочисленную степень десяти
(<i>порядок</i>). Например, расстояние от Земли
до Солнца равно 1.496·10<sup>11</sup>, а масса молекулы воды 2.99·10<sup>-23</sup>.
<p>Числа с плавающей точкой в программах на языке Питон, а также при вводе и выводе записываются так:
сначала пишется мантисса, затем пишется буква <code>e</code>, затем пишется порядок. Пробелы внутри этой
записи не ставятся. Например, указанные выше константы можно записать в виде
<code>1.496e11</code> и <code>2.99e-23</code>. Перед самим числом также может стоять знак минус.
<p>Напомним, что результатом операции деления <code>/</code> всегда является действительное число (<code>float</code>),
в то время как результатом операции <code>//</code> является целое число (<code>int</code>).
<p>Преобразование действительных чисел к целому производится с округлением
в сторону нуля, то есть <code>int(1.7) == 1</code>, <code>int(-1.7) == -1</code>.
{% endsection %}
{% section "Библиотека math" %}
<p>Для проведения вычислений с действительными числами язык Питон содержит много
дополнительных функций, собранных в библиотеку (модуль), которая называется <code>math</code>.
<p>Для использования этих функций в начале программы необходимо подключить математическую
библиотеку, что делается командой
<pre>import math
</pre>
<p>Например, пусть мы хотим округлять вещественные числа до ближайшего целого числа <i>вверх</i>.
Соответствующая функция <code>ceil</code> от одного аргумента вызывается, например, так: <code>math.ceil(x)</code>
(то есть явно указывается, что из модуля <code>math</code> используется функция <code>ceil</code>).
Вместо числа <code>x</code> может быть любое число, переменная или выражение.
Функция возращает значение, которое можно вывести на экран, присвоить
другой переменной или использовать в выражении:
{% program %}
import math
x = math.ceil(4.2)
y = math.ceil(4.8)
print(x)
print(y)
{% endprogram %}
</pre>
<p>Другой способ использовать функции из библиотеки <code>math</code>, при котором не нужно будет
при каждом использовании функции из модуля <code>math</code> указывать название
этого модуля, выглядит так:
{% program %}
from math import ceil
x = 7 / 2
y = ceil(x)
print(y)
{% endprogram %}
или так:
{% program %}
from math import *
x = 7 / 2
y = ceil(x)
print(y)
{% endprogram %}
<p>Ниже приведен список основных функций модуля <code>math</code>. Более подробное описание
этих функций можно найти на <a href="http://docs.python.org/py3k/library/math.html">сайте с документацией языка Питон</a>.
<p>Некоторые из перечисленных функций (<code>int</code>, <code>round</code>, <code>abs</code>)
являются стандартными и не требуют подключения модуля <code>math</code> для использования.
<table border="1" cellpadding="4">
<tr>
<th>Функция</th>
<th>Описание</th>
</tr>
<tr>
<td colspan=2>Округление</td>
</tr>
<tr>
<td><b><code>int(x)<code></b></td>
<td>Округляет число в сторону нуля. Это стандартная функция, для ее использования не нужно подключать
модуль <code>math</code>.</td>
</tr>
<tr>
<td><b><code>round(x)</code></b></td>
<td>Округляет число до ближайшего целого. Если дробная часть числа равна 0.5, то число округляется
до ближайшего четного числа.</td>
</tr>
<tr>
<td><b><code>round(x, n)</code></b></td>
<td>Округляет число <code>x</code>
до <code>n</code> знаков после точки. Это стандартная функция, для ее использования не нужно подключать
модуль <code>math</code>.</td>
</tr>
<tr>
<td><b><code>floor(x)</code></b></td>
<td>Округляет число вниз («пол»), при этом <code>floor(1.5) == 1</code>, <code>floor(-1.5) == -2</code></td>
</tr>
<tr>
<td><b><code>ceil(x)</code></b></td>
<td>Округляет число вверх («потолок»), при этом <code>ceil(1.5) == 2</code>, <code>ceil(-1.5) == -1</code></td>
</tr>
<tr>
<td><b><code>abs(x)</code></b></td>
<td>Модуль (абсолютная величина). Это — стандартная функция.</code></td>
</tr>
<tr>
<td colspan=2>Корни, логарифмы</td>
</tr>
<tr>
<td><b><code>sqrt(x)</code></b></td>
<td>Квадратный корень. Использование: <code>sqrt(x)</code></td>
</tr>
<tr>
<td><b><code>log(x)</code></b></td>
<td>Натуральный логарифм. При вызове в виде <code>log(x, b)</code> возвращает логарифм по основанию <code>b</code>.</td>
</tr>
<tr>
<td><b><code>e</code></b></td>
<td>Основание натуральных логарифмов e = 2,71828...</td>
</tr>
<tr>
<td colspan=2>Тригонометрия</td>
</tr>
<td><b><code>sin(x)</code></b></td>
<td>Синус угла, задаваемого в радианах</td>
</tr>
<tr>
<td><b><code>cos(x)</code></b></td>
<td>Косинус угла, задаваемого в радианах</td>
</tr>
<tr>
<td><b><code>tan(x)</code></b></td>
<td>Тангенс угла, задаваемого в радианах</td>
</tr>
<tr>
<td><b><code>asin(x)</code></b></td>
<td>Арксинус, возвращает значение в радианах</td>
</tr>
<tr>
<td><b><code>acos(x)</code></b></td>
<td>Арккосинус, возвращает значение в радианах</td>
</tr>
<tr>
<td><b><code>atan(x)</code></b></td>
<td>Арктангенс, возвращает значение в радианах</td>
</tr>
<tr>
<td><b><nobr><code>atan2(y, x)</code></nobr></b></td>
<td>Полярный угол (в радианах) точки с координатами (x, y).</td>
</tr>
<tr>
<tr>
<td><b><code>degrees(x)</code></b></td>
<td>Преобразует угол, заданный в радианах, в градусы.</td>
</tr>
<tr>
<td><b><code>radians(x)</code></b></td>
<td>Преобразует угол, заданный в градусах, в радианы.</td>
</tr>
<tr>
<td><b><code>pi</code></b></td>
<td>Константа <i>π</i> = 3.1415...</td>
</tr>
</table>
{% endsection %}