Решение модуля 13.5 из курса «Поколение Python: для начинающих»

Рассказываю про решения и показываю ответы на модуль и по совместительству урок 13.5 из «Поколение Python: курс для начинающих» на языке программирования питоне.

Is Valid Triangle?
Напишите функцию is_valid_triangle(side1, side2, side3), которая принимает в качестве аргументов три натуральных числа, и возвращает значение True если существует невырожденный треугольник со сторонами side1, side2, side3 и False в противном случае.

Решение модуля 13.5 из курса «Поколение Python: для начинающих»
# Объявление функции is_valid_triangle(), которая проверяет, являются ли заданные стороны сторонами треугольника
def is_valid_triangle(side1, side2, side3):
    # Создаём отсортированный список из сторон
    s_list = sorted([side1, side2, side3])  

    # Проверяем, является ли сумма минимальной и средней сторон больше максимальной
    return s_list[0] + s_list[1] > s_list[2]


# Считываем длины сторон треугольника
a, b, c = int(input()), int(input()), int(input())

# Вызываем функцию и выводим результат
print(is_valid_triangle(a, b, c))

Is a Number Prime? 🌶️
Напишите функцию is_prime(num), которая принимает в качестве аргумента натуральное число и возвращает значение True если число является простым и False в противном случае.

Решение модуля 13.5 из курса «Поколение Python: для начинающих»
# Объявление функции is_prime(), которая проверяет, является ли число простым
def is_prime(num):
    # Если число равно 1, то оно не является простым
    if num == 1:  
        return False
    for j in range(2, num):
        if num % j == 0:  # Если число делится нацело на какое-то другое число, оно не простое
            return False
    return True           # В противном случае число является простым

# Считываем число для проверки
n = int(input())

# Вызываем функцию и выводим результат
print(is_prime(n))

Next Prime 🌶️🌶️
Напишите функцию get_next_prime(num), которая принимает в качестве аргумента натуральное число num и возвращает первое простое число большее числа num.

Решение модуля 13.5 из курса «Поколение Python: для начинающих»
def is_prime(num):
    # Если число равно 1, то оно не является простым
    if num == 1:  
        return False
    for j in range(2, num):
        if num % j == 0:  # Если число делится нацело на какое-то другое число, оно не простое
            return False
    return True           # В противном случае число является простым

# Объявление функции get_next_prime(), которая находит следующее простое число после заданного числа
def get_next_prime(num):
    # Начинаем искать следующее простое число, увеличивая текущее число на 1
    n = num + 1  

    # Если следующее число непростое, увеличиваем его на 1 и проверяем снова
    while not is_prime(n):  
        n += 1

    return n

# Считываем данные (число, для которого нужно найти следующее простое число)
n = int(input())

# Вызываем функцию и выводим результат
print(get_next_prime(n))

Good password 🌶️
Напишите функцию is_password_good(password), которая принимает в качестве аргумента строковое значение пароля password и возвращает значение True если пароль является надежным и False в противном случае.

Пароль является надежным если:

Решение модуля 13.5 из курса «Поколение Python: для начинающих»
# Объявление функции is_password_good(), которая проверяет, является ли пароль надежным
def is_password_good(password):
    if len(password) < 8:  # Если длина пароля меньше 8 символов, то пароль недостаточно надежный
        return False

    flagD = False  # Флаг для наличия цифры в пароле
    flagL = False  # Флаг для наличия строчной буквы в пароле
    flagU = False  # Флаг для наличия заглавной буквы в пароле

    for c in password:
        if c.isdigit():    # Если символ - цифра, устанавливаем флаг для цифры
            flagD = True
        elif c.islower():  # Если символ - строчная буква, устанавливаем флаг для строчной буквы
            flagL = True
        elif c.isupper():  # Если символ - заглавная буква, устанавливаем флаг для заглавной буквы
            flagU = True

    return flagD and flagL and flagU  # Пароль считается надежным, если все три флага установлены

# Считываем данные (пароль для проверки)
txt = input()

# Вызываем функцию и выводим результат
print(is_password_good(txt))

Ровно в одном
Напишите функцию is_one_away(word1, word2), которая принимает в качестве аргументов два слова word1 и word2 и возвращает значение True если слова имеют одинаковую длину и отличаются ровно в 1 символе и False в противном случае.

Решение модуля 13.5 из курса «Поколение Python: для начинающих»
# Объявление функции is_one_away(), которая проверяет, являются ли две строки "одной поправкой"
def is_one_away(word1, word2):
    if len(word1) != len(word2):  # Если длины строк не совпадают, то они не могут быть "одной поправкой"
        return False
    count = 0                     # Счетчик различных символов между строками
    
    for i in range(len(word1)):
        if word1[i] != word2[i]:  # Если символы в соответствующих позициях не совпадают
            count += 1            # Увеличиваем счетчик
    if count == 1:                # Если счетчик равен 1, то строки отличаются только одним символом
        return True
    else:
        return False    # В противном случае строки не являются "одной поправкой"

# Считываем данные (две строки для проверки)
txt1 = input()
txt2 = input()

# Вызываем функцию и выводим результат
print(is_one_away(txt1, txt2))

Палиндром 🌶️
Напишите функцию is_palindrome(text), которая принимает в качестве аргумента строку text и возвращает значение True если указанный текст является палиндромом и False в противном случае.

Решение модуля 13.5 из курса «Поколение Python: для начинающих»
# Объявление функции is_palindrome(), которая проверяет, является ли текст палиндромом
def is_palindrome(text):
    # Удаляем знаки препинания и пробелы из текста
    for c in (',.!?- '):  
        text = text.replace(c, '')
    text = text.lower()        # Приводим текст к нижнему регистру
    return text == text[::-1]  # Сравниваем текст с его обратным представлением

# Считываем данные (текст для проверки)
txt = input()

# Вызываем функцию и выводим результат
print(is_palindrome(txt))

BEEGEEK
BEEGEEK наконец открыл свой банк в котором используются специальные банкоматы с необычным паролем.

Действительный пароль BEEGEEK банка имеет вид a:b:c, где a, b и c – натуральные числа. Поскольку основатель BEEGEEK фанатеет от математики, то он решил:

число a – должно быть палиндромом;
число b – должно быть простым;
число c – должно быть четным.
Напишите функцию is_valid_password(password), которая принимает в качестве аргумента строковое значение пароля password и возвращает значение True если пароль является действительным паролем BEEGEEK банка и False в противном случае.

Решение модуля 13.5 из курса «Поколение Python: для начинающих»
# Функция, которая проверяет, является ли число палиндромом
def is_palindrome(num):
    return str(num) == str(num)[::-1]

# Функция, которая проверяет, является ли число простым
def is_prime(num):
    if num == 1:
        return False
    
    for i in range(2, int(num ** 0.5) + 1):
        if num % i == 0:
            return False
        
    return True

# Функция, которая проверяет, является ли число четным
def is_even(num):
    return num % 2 == 0

# Функция, которая проверяет валидность пароля
def is_valid_password(password):
    l = password.split(":")  # Разбиваем пароль на части, используя двоеточие как разделитель
    
	# Проверяем, что пароль содержит три части
    if len(l) == 3:  
        l = [int(el) for el in l]   # Преобразуем каждую часть в целое число
        a, b, c = l[0], l[1], l[2]  # Присваиваем переменным значения из списка
                
        # Проверяем, что первая часть (a) является палиндромом, вторая часть (b) - простым числом,
        # а третья часть (c) - четным числом
        return is_palindrome(a) and is_prime(b) and is_even(c)
    
    return False  # Возвращаем False, если пароль не соответствует заданному формату

# Считываем данные (пароль)
psw = input()

# Вызываем функцию и выводим результат
print(is_valid_password(psw))

Правильная скобочная последовательность 🌶️
Напишите функцию is_correct_bracket(text), которая принимает в качестве аргумента непустую строку text, состоящую из символов ( и ) и возвращает значение True если поступившая на вход строка является правильной скобочной последовательностью и False в противном случае.

Решение модуля 13.5 из курса «Поколение Python: для начинающих»
# Функция, которая проверяет правильность скобочной последовательности
def is_correct_bracket(text):
    # Пока в строке есть подстрока '()', заменяем её на пустую строку
    while '()' in text:
        text = text.replace('()', '')  
    return not text  # Возвращаем True, если вся строка опустела, что означает правильную последовательность

# Считываем данные (строку со скобками)
txt = input()

# Вызываем функцию и выводим результат
print(is_correct_bracket(txt))

Змеиный регистр
Напишите функцию convert_to_python_case(text), которая принимает в качестве аргумента строку в «верблюжьем регистре» и преобразует его в «змеиный регистр».

Решение модуля 13.5 из курса «Поколение Python: для начинающих»
# Функция для преобразования текста в "змеиную" нотацию
def convert_to_python_case(text):
    s = ''               # Инициализируем пустую строку для результата
    for i in text:
        if i.isupper():  # Если текущий символ - заглавная буква
            s += '_'     # Добавляем символ подчеркивания перед ней
        s += i.lower()   # Преобразуем текущий символ в нижний регистр и добавляем к результату
    return s[1:]         # Возвращаем строку, начиная с первого символа (без лишнего подчеркивания)

# Считываем данные (текст для преобразования)
input_text = input()

# Вызываем функцию и выводим результат
print(convert_to_python_case(input_text))

Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы

Понравилась статья? Поделиться с друзьями:
Подписаться
Уведомить о
guest

3 комментариев
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Александр
Александр
2 месяцев назад

Правильная скобочная последовательность:

# объявление функции
def is_correct_bracket(text):
  flag = True
  while «()» in text:
    text = text.replace(‘()’, »)
  if len(text) != 0:
    return False
  return True
# считываем данные
txt = input()

# вызываем функцию
print(is_correct_bracket(txt))

Roman
Roman
1 год назад

Правильная скобочная последовательность

# объявление функции
def is_correct_bracket(text):
while ‘()’ in text:
text = text.replace(‘()’, »)
return not text

# считываем данные
txt = input()

# вызываем функцию
print(is_correct_bracket(txt))

maiz
maiz
Ответить на  Roman
2 месяцев назад

while ‘()’ in text:
    text = text.replace(‘()’, »)
  return len(text) == 0
  pass

последняя задача в блоке про конвертацию регистров
def convert_to_python_case(text):
  s = text[0].lower() #строку 
  for i in text[1:]:
    if i.isupper():
      s = s + ‘_’ + i.lower()
    else:
      s += i
  return s

3
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x