|
|||
print ( i ). print ( i ). return (k*k > n). n = int ( input() ). print ( n, – простое число ). n = int ( input() )print ( i )
Предположим, что у нас уже есть логическая функция isPrime, которая определяет про-стоту числа, переданного ей как параметр, и возвращает истинное значение (True), если число простое, и ложное (False) в противном случае. Такую функцию можно использовать вместо вы-
деленного блока алгоритма: if isPrime ( i ):
print ( i )
Остаётся написать саму функцию isPrime. Будем использовать уже известный алгоритм:
если число n в интервале от 2 до n не имеет ни одного делителя,то оно простое12:
def isPrime ( n ):
k = 2 while k*k <= n and n % k != 0: k += 1 return (k*k > n)
Эта функция возвращает логическое значение, которое определяется как k*k > n
Если это условие истинно, то функция возвращает True, иначе – False.
Логические функции можно использовать так же, как и любые условия: в условных операторах и циклах с условием. Например, такой цикл останавливается на первом введённом составном числе: n = int ( input() )
while isPrime(n): print ( n, "– простое число" ) n = int ( input() )
? Контрольные вопросы 1. Что такое функция? Чем она отличается от процедуры? 2. Как по тексту программы определить, какое значение возвращает функция? 3. Какие функции называются логическими? Зачем они нужны?
|
|||
|