Конечно, вот решения для каждой из задач, с пояснениями и примерами:
Уровень Junior: Треугольник из символов
def print_triangle
:
"""Печатает треугольник из символов '*' высотой n."""
for i in range(1, n + 1):
print("*" * i)
# Пример использования:
n = 5 # Задаем высоту треугольника
print_triangle
n = 7
print_triangle
Пояснение:
* Функция print_triangle
принимает целое число n (высоту треугольника).
* Цикл for i in range(1, n + 1) итерируется от 1 до n включительно.
* Внутри цикла строка "*" * i создает строку, состоящую из i символов *.
* Функция print() выводит эту строку на экран.
Уровень Middle: Проверка числа на простоту
def is_prime(num):
"""Проверяет, является ли число num простым."""
if num <= 1:
return False # Числа меньше или равные 1 не простые
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False # Если число делится на i без остатка, оно не простое
return True # Если ни один делитель не найден, число простое
# Пример использования:
num = int(input("Введите число для проверки: "
)
if is_prime(num):
print(f"{num} - простое число"
else:
print(f"{num} - не простое число"
num = int(input("Введите число для проверки: "
)
if is_prime(num):
print(f"{num} - простое число"
else:
print(f"{num} - не простое число"
Пояснение:
* Функция is_prime(num) проверяет, является ли число num простым.
* Числа меньше или равные 1 не являются простыми.
* Цикл for i in range(2, int(num**0.5) + 1) проверяет делимость числа num на числа от 2 до квадратного корня из num. Проверка до квадратного корня достаточна, так как если у числа есть делитель больше квадратного корня, то у него обязательно есть и делитель меньше квадратного корня.
* Если число делится на какое-либо i без остатка (num % i == 0), функция возвращает False.
* Если ни один делитель не найден, функция возвращает True.
Уровень Senior: Проверка на палиндром с циклом
def is_palindrome(word):
"""Проверяет, является ли слово word палиндромом."""
word = word.lower() # Приводим слово к нижнему регистру для регистронезависимости
return word == word[::-1] # Сравниваем слово с его перевернутой версией
# Пример использования:
while True:
word = input("Введите слово для проверки (или -1 для выхода): "
if word == "-1":
break # Выход из цикла
if is_palindrome(word):
print(f"{word} - палиндром"
else:
print(f"{word} - не палиндром"
Пояснение:
* Функция is_palindrome(word) проверяет, является ли слово word палиндромом.
* word = word.lower() приводит слово к нижнему регистру, чтобы проверка была регистронезависимой (например, "Racecar" и "racecar" считались палиндромами).
* word[::-1] создает перевернутую копию слова.
* Функция сравнивает исходное слово (в нижнем регистре) с его перевернутой копией.
* Цикл while True позволяет пользователю вводить слова для проверки до тех пор, пока он не введет "-1".
Эти решения должны помочь вам. Если есть дополнительные вопросы, не стесняйтесь задавать!