1. Максимальное и минимальное число:
max(1, 2, 3, 4, 10) # => 10
max(float(input("-> ")), float(input("-> ")))
max("12", "1", "qwerty") # => ???
Функция max()
сравнивает элементы, используя оператор <
. Поэтому, все передаваемые в них значения должны быть сопоставимы друг с другом и одного типа, иначе бросается исключение TypeError
.
Аналогично работает функция min()
: возвращает наименьшее из двух или более переданных позиционных аргументов.
min(1, 2, 3, 4, 10, 1) # => 1
max(arg1, arg2[, ..., arg_n] *[, key])
max(-1, 2, -3, 4, -10, key = abs) # => -10
max("12", "1", "qwerty", key = len) # => "qwerty"
2. Округление чисел (1):
round(number [, digits])
Вещественное число, которое необходимо округлить
Количество знаков после запятой
round(12.3) # => 12
round(12.5) # => 12
round(12.6) # => 13
round(12.373, 1) # => 12.4
round(12.373, 2) # => 12.37
В Python 3.x используется «банковский» метод округления!
2. Округление чисел (2):
int(number)
int(7.1) # => 7
int(7.9) # => 7
int(7.899) # => 7
int(-7.1) # => -7
int(-7.9) # => -7
int(-7.899) # => -7
2. Округление чисел (3):
import math
math.ceil(number)
math.floor(number)
Округление в меньшую сторону
Округление в большую сторону
Эти функции требуют подключения библиотеки «math»
import math
math.floor(25.1) # => 25
math.floor(25.5) # => 25
math.floor(25.9) # => 25
math.floor(-25.1) # => -26
math.floor(-25.5) # => -26
math.floor(-25.9) # => -26
import math
math.ceil(25.1) # => 26
math.ceil(25.5) # => 26
math.ceil(25.9) # => 26
math.ceil(-25.1) # => -25
math.ceil(-25.5) # => -25
math.ceil(-25.9) # => -25
Циклы
vkrysanov320@gmail.com
Написать программу, которая 10 раз напечатает «Привет».
Написать программу, которая 10 раз напечатает «Привет»
print("Привет")
print("Привет")
print("Привет")
print("Привет")
print("Привет")
print("Привет")
print("Привет")
print("Привет")
print("Привет")
print("Привет")
Написать программу, которая 20 раз напечатает «Привет».
а 100 раз?
Циклы — это инструкции, выполняющие одну и туже последовательность действий.
(1815 - 1852)
Цикл с условием
Цикл по переменной
Оператор while позволяет многократно выполнять блок команд до тех пор, пока выполняется некоторое условие condition. while — это один из так называемых операторов цикла; он также может иметь необязательный пункт else:
while condition:
instructions_a
else:
instructions_b
Логическое выражение (значение которого True или False)
«Шаг цикла» называется итерацией.
Написать программу, которая 10 раз напечатает «Привет».
i = 0
while i < 10:
print("Привет")
i += 1
i = 0
while i < 10:
print("Привет")
Написать программу, которая распечатает натуральные чётные числа от 1 до n, включая n (n вводится с клавиатуры).
n = int(input())
i = 1
while i <= n:
if i%2 == 0:
print(i)
i += 1
n = int(input())
i = 2
while i <= n:
print(i)
i += 2
n = n + a
n = n - a
n = n * a
n = n / a
n = n // a
n = n ** a
n = n % a
Существуют сокращенные формы записи для всех арифметических операций:
n += a
n -= a
n *= a
n /= a
n //= a
n **= a
n %= a
Развернутая запись:
Сокращенная запись:
Они отличаются только способом записи. Интерпретатор превратит сокращенную конструкцию в развернутую.
Чему равна сумма натуральных чисел от 1 до 100?
или же по формуле арифметической прогрессии:
А как написать программу, вычисляющую эту сумму?
Для решения задачи определенно потребуется переменная для счетчика цикла и переменная для хранения суммы, которая в начале равна нулю. На каждой итерации в цикле прибавляем значение i к сумме:
sum = 0 #переменная для суммы
i = 1 #счётчик для while
while i <= 100:
sum += i #на каждой итерации прибавляем i
i += 1
print(i, sum)
Если вставить печать куда-либо в тело цикла, можно увидеть как он работает
Что необходимо изменить в программе, чтобы вычислялось произведение натуральных чисел от 1 до 100?
prod = 1 #переменная для суммы
i = 1 #счётчик для while
while i <= 100:
prod *= i #на каждой итерации прибавляем i
i += 1
Очевидно, если изначально i будет равняться 0, то произведение всех чисел тоже будет 0!
Написать программу, вычисляющую сумму чётных натуральных чисел от 1 до 100.
sum = 0
i = 2
while i <= 100:
sum += i
i += 2
sum = 0
i = 1
while i <= 100:
if i%2 == 0:
sum += i
i += 1
или так
Второй вариант лучше, т.к. количество итераций меньше!
Написать программу, вычисляющую среднее арифметическое чисел от a до b (a и b вводятся с клавиатуры).
a = int(input("a -> "))
b = int(input("b -> "))
sum = 0
cnt = 0
while a <= b:
sum += a
cnt += 1
a += 1
print("avg:", sum/cnt)
Написать программу, вычисляющую среднее арифметическое чисел от a до b (a и b вводятся с клавиатуры).
Для среднего арифметического необходимо количество слагаемых, для этого можно определить переменную-счетчик
Написать программу, считающую количество и сумму цифр в числе.
Вспоминаем, как работает деление на цело и остаток от деления...
Зачем это может понадобиться при решении этой задачи?
n = int(input())
count = 0
sum = 0
while n > 0:
sum += n%10
count += 1
n //= 10
print("Сумма цифр: ", sum)
print("Количесвто цифр: ", count)
break – оператор завершения цикла
continue – оператор перехода к следующей итерации цикла (если она есть)