Главная страница

книга заданий пайтон. книга практических заданий, pyton. Сборник упражнений Введение в язык Python с задачами и решениями Бен Стивенсон Москва, 2021 удк 004. 438Python


Скачать 2.24 Mb.
НазваниеСборник упражнений Введение в язык Python с задачами и решениями Бен Стивенсон Москва, 2021 удк 004. 438Python
Анкоркнига заданий пайтон
Дата02.10.2022
Размер2.24 Mb.
Формат файлаdocx
Имя файлакнига практических заданий, pyton.docx
ТипСборник упражнений
#709959
страница62 из 69
1   ...   58   59   60   61   62   63   64   65   ...   69

Упражнение 114. Отрицательные, положительные и нули


##

# Запрашиваем коллекцию целых чисел у пользователя. Отображаем сначала отрицательные,

# затем нули и после этого положительные

#

# Создаем три списка для хранения отрицательных, нулевых и положительных значений negatives = [] zeros = [] positives = []

В данном решении используется отдельный список для хранения введенных пользователем нулей. Но в этом нет особой необходимости, поскольку нули все одинаковые. Достаточно было бы хранить количество введенных пользователем нулей и при выводе отображать их столько, сколько надо.

# Запрашиваем числа у пользователя, помещая их в соответствующие списки line = input("Введите целое число (Enter для окончания ввода): ") while line != "": num = int(line) if num < 0:

negatives.append(num) elif num > 0:

positives.append(num) else: zeros.append(num)

# Запрашиваем следующее число у пользователя line = input("Введите целое число (Enter для окончания ввода): ")

# Выводим сначала отрицательные числа, затем нули и после этого положительные print("Введенные числа: ") for n in negatives:

print(n) for n in zeros: print(n) for n in positives: print(n)

Упражнение 116. Совершенные числа


##

# Целое число n называется совершенным, если сумма всех его собственных делителей

# равна самому числу n # Покажем все совершенные числа от 1 до LIMIT. #

from proper_divisors import properDivisors LIMIT = 10000

## Определяем, является ли число совершенным

Сумма элементов списка также может быть вычислена при помощи функции sum языка Python. Это позволит избежать написания цикла и сократить операцию до одной строки.

# @param n – число, которое необходимо проверить на совершенство # @return True, если число совершенно, иначе False def isPerfect(n): # Получим список собственных # делителей числа divisors = properDivisors(n)

# Рассчитываем их сумму total = 0 for d in divisors: total = total + d

# Определяем, является ли число совершенным, и возвращаем результат if total == n: return True return False

# Отображаем все совершенные числа от 1 до LIMIT. def main():

print("Совершенные числа от 1 до", LIMIT, ":") for i in range(1, LIMIT + 1):

if isPerfect(i): print(" ", i)

#Call the main function main()

Упражнение 120. Форматирование списка


## # Отображаем перечень введенных слов через запятую и с союзом "и" между

# последними двумя словами

#

## Форматируем список с запятыми и союзом "и"

#@param items – список элементов для форматирования #@return строка с установленными правилами форматирования def formatList(items): # Отдельно рассматриваем пустой список и список из одного элемента if len(items) == 0: return "<пусто>" if len(items) == 1: return str(items[0])

# Идем по всем элементам списка, за исключением двух последних result = "" for i in range(0, len(items) – 2): result = result + str(items[i]) + ", "

Каждый введенный элемент мы явным образом преобразуем в строку путем вызова функции str перед выполнением форматирования. Это позволит функции formatList корректно обрабатывать не только строковые элементы, но и числовые.

# Добавляем к строке два последних элемента, разделенных союзом "и" result = result + str(items[len(items) – 2]) + " и " result = result + str(items[len(items) – 1]) # Возвращаем результат return result

# Запрашиваем у пользователя слова и форматируем их def main(): # Запрашиваем у пользователя слова, пока не будет пропущена строка ввода items = [] line = input("Введите слово (Enter для окончания ввода): ")

while line != "":

items.append(line) line = input("Введите слово (Enter для окончания ввода): ")

# Форматируем и отображаем результат print("Введенные элементы: %s." % formatList(items))

# Вызов основной функции main()

Упражнение 121. Случайные лотерейные номера


## # Собираем уникальные случайные номера для лотерейного билета # from random import randrange

Использование констант поможет быстро адаптировать программу для любой лотереи.

MIN_NUM = 1

MAX_NUM = 49

NUM_NUMS = 6

# Используем список для хранения номеров лотерейного билета ticket_nums = []

# Генерируем NUM_NUMS случайных, но уникальных значений for i in range(NUM_NUMS): # Генерируем номер, которого еще нет в списке rand = randrange(MIN_NUM, MAX_NUM + 1) while rand in ticket_nums: rand = randrange(MIN_NUM, MAX_NUM + 1)

# Добавляем номер к билету ticket_nums.append(rand)

# Сортируем номера по возрастанию и отображаем их ticket_nums.sort() print("Номера вашего билета: ", end="") for n in ticket_nums: print(n, end=" ") print()
1   ...   58   59   60   61   62   63   64   65   ...   69


написать администратору сайта