125155
Между данными из списка можно выводить и другие символы. Например, программа
num1 = 12; num2 = 13
print( "{}+{}={}".format(num1, num2, num1+num2) )
выведет
12+13=25
Как видно из первой строчки программы, в одной строке можно записывать несколько операторов, разделяя их точками с запятой.
Ввод и вывод вещественных чисел
Как вы знаете, результат ввода с помощью функция
input – это символьная строка. Если мы хотели ввести вещест-
21 http://kpolyakov.spb.ru
05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин
венное число, нужно затем преобразовать эту строку с помощью
функции float:
x = float( input() )
Теперь x – это вещественная переменная и команда
print( type(x) )
выведет
'float'>
Несложно ввести несколько переменных в одной строке, ис-пользуя тот же приём, что и для целых чисел:
x, y, z = map( float, input().split() )
Здесь вводятся значения трёх переменных, x, y и z.
При выводе вещественных значений по умолчанию (то есть, если не сказано делать иначе) выводится 16 значащих цифр. Например, команда
print( 16/7 )
выводит
2.2857142857142856
Если такой вариант не устраивает, применяют форматный вывод, например:
x = 16/7
print( "x={:f}".format(x) ) # x=2.285714
Здесь после двоеточия указан формат f, по умолчанию он ос-тавляет 6 цифр в дробной части числа. Перед буквой f можно записать два числа через точку.
Изучите следующую таблицу и выясните, что означают два числа, которые записываются после двоеточия перед буквой f.
Результат вывода print("x={:10.3f}".format(x)) x=◦◦◦◦12.346 print("x={:8.2f}".format(x)) x=◦◦12.35 print("x={:2.2f}".format(x)) x=12.35 print("x={:0.2f}".format(x)) x=12.35 print("x={:0.1f}".format(x)) x=12.3
22 http://kpolyakov.spb.ru
05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин
Как вы поняли, первое число задаёт общее количество по-зиций, отведённое на вывод значения, а второе – количество цифр в дробной части:
print( "x={:10.3f}".format(x) ) # x=◦◦◦◦12.346
В этом варианте на число отводится всего 10 позиций, из них 3 – на дробную часть. Поскольку цифры и точка занимают 6 по-зиций, слева добавляется ещё 4 пробела.
Если пробелы слева от числа не нужны, а требуется только ограничить количество знаков в дробной части, вместо первого числа пишут 0 или вообще ничего не пишут:
print("x={:.2f}".format(x)) #x=12.35
Для очень больших или очень маленьких чисел используют научный формат (стандартный вид числа). Он обозначается буквой e внутри фигурных скобок:
x = 1e10/7
print("x={:12.4e}".format(x)) # x=◦◦1.4286e+09
Число слева от точки в строке формата – это общее количество позиций для вывода числа, а второе число – количество знаков в дробной части мантиссы (для всех чисел, кроме числа 0, она больше или равна 1 и меньше 10). Если первое число не указы-вать, будет использовано наименьшее возможное место.
Что будет выведено в результате работы следующей программы:
x = 172.3658 print( x )
print( "x={:f}".format(x) ) print( "x={:10.2f}".format(x) ) print( "x={:.8f}".format(x) )
Программа вывела числа в научном формате:
1.2345E+001 8.74E+00 2.345E+003 1.8752E-01 5.6E+005 3.462752E-03
Запишите их в «обычном» виде.
23 http://kpolyakov.spb.ru
05.04.2019 Информатика, 8 класс К.Ю. Поляков, Е.А. Еремин
Операции с вещественными числами
При работе с вещественными числами часто приходится округлять их до ближайших целых чисел. Для этого в языке Py-thon есть две функции:
int(x) – отбрасывание дробной части числа x;
round(x) – округление вещественного числа x к ближай-
шему целому числу.
Как можно выделить дробную часть положительного вещественного числа в алгоритмическом языке?
Что будет выведено на экран в результате работы следующей программы:
Достарыңызбен бөлісу: |