Загрузка данных


Вот готовые решения без input() — значения уже вписаны в код, чтобы можно было сразу запускать.

Упражнение 110. Порядок сортировки

numbers = [8, 3, 12, 5, 1, 0]
result = []
for number in numbers:
    if number == 0:
        break
    result.append(number)
result.sort()
print("Числа по возрастанию:")
for number in result:
    print(number)

Упражнение 111. Обратный порядок

numbers = [8, 3, 12, 5, 1, 0]
result = []
for number in numbers:
    if number == 0:
        break
    result.append(number)
result.sort(reverse=True)
print("Числа по убыванию:")
for number in result:
    print(number)

Упражнение 115. Список собственных делителей

def proper_divisors(n):
    divisors = []
    for i in range(1, n):
        if n % i == 0:
            divisors.append(i)
    return divisors
if __name__ == "__main__":
    number = 28
    result = proper_divisors(number)
    print("Число:", number)
    print("Собственные делители:", result)

Упражнение 117. Только слова

def only_words(text):
    punctuation = ".,!?-':;"
    words = text.split()
    result = []
    for word in words:
        while len(word) > 0 and word[0] in punctuation:
            word = word[1:]
        while len(word) > 0 and word[-1] in punctuation:
            word = word[:-1]
        result.append(word)
    return result
if __name__ == "__main__":
    text = "Contractions include: don't, isn't, and wouldn't."
    result = only_words(text)
    print("Исходная строка:", text)
    print("Слова:")
    for word in result:
        print(word)

Упражнение 118. Словесные палиндромы

def only_words(text):
    punctuation = ".,!?-':;"
    words = text.split()
    result = []
    for word in words:
        while len(word) > 0 and word[0] in punctuation:
            word = word[1:]
        while len(word) > 0 and word[-1] in punctuation:
            word = word[:-1]
        result.append(word.lower())
    return result
text = "Herb the sage eats sage, the herb"
words = only_words(text)
if words == words[::-1]:
    print("Строка является словесным палиндромом")
else:
    print("Строка не является словесным палиндромом")
print("Исходная строка:", text)
print("Слова после обработки:", words)

Упражнение 119. Ниже и выше среднего

numbers = [10, 20, 30, 40, 50]
average = sum(numbers) / len(numbers)
below = []
equal = []
above = []
for number in numbers:
    if number < average:
        below.append(number)
    elif number == average:
        equal.append(number)
    else:
        above.append(number)
print("Введенные числа:", numbers)
print("Среднее значение:", average)
print("Числа ниже среднего:")
for number in below:
    print(number)
print("Числа, равные среднему:")
for number in equal:
    print(number)
print("Числа выше среднего:")
for number in above:
    print(number)

Упражнение 122. «Поросячья латынь»

text = "computer think algorithm office"
vowels = "aeiou"
words = text.split()
new_words = []
for word in words:
    if word[0] in vowels:
        new_word = word + "way"
    else:
        index = 0
        while index < len(word) and word[index] not in vowels:
            index += 1
        new_word = word[index:] + word[:index] + "ay"
    new_words.append(new_word)
result = " ".join(new_words)
print("Исходный текст:", text)
print("Поросячья латынь:", result)