Написать письменно в тетради программу на языке Python, которая проверяет является ли число неотрицательным и простым. Если число является простым и положительным, то вывести на экран сумму введённого числа с клавиатуры и дня Вашего рождения (без месяца и года).
Ответы
Код программы на Python
import datetime
def is_prime(num):
"""Функция проверяет, является ли число простым"""
if num <= 1:
return False
elif num <= 3:
return True
elif num % 2 == 0 or num % 3 == 0:
return False
i = 5
while i * i <= num:
if num % i == 0 or num % (i + 2) == 0:
return False
i += 6
return True
def main():
num = int(input("Введите число: "))
if num >= 0:
if is_prime(num):
birth_date = datetime.date.today().replace(year=datetime.date.today().year, month=4, day=15)
sum_num_and_birth_date = num + int(birth_date.strftime("%d"))
print("Сумма числа и дня рождения:", sum_num_and_birth_date)
else:
print("Число не является простым")
else:
print("Число отрицательное")
if __name__ == "__main__":
main()
Пояснения к коду:
Функция is_prime проверяет, является ли число простым. Реализован алгоритм проверки на основе "Решета Эратосфена".
Функция main считывает число с клавиатуры, проверяет, является ли оно неотрицательным, и если да, то проверяет, является ли оно простым. Если число является простым, то считывается текущая дата и вычисляется сумма числа и дня рождения автора программы (15 апреля). Результат выводится на экран.
В строке if __name__ == "__main__": проверяется, запускается ли программа напрямую, или она вызывается из другого модуля. Если программа запускается напрямую, то вызывается функция main.