Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

2.6 KiB

Тест по модулю 2

Мамакин Ярослав Романович, вариант 19

Задание

  1. Запросите у пользователя целое число N со значением из диапазона от 10 до 70 (проверить и при необходимости переспросить).

  2. Создайте список SPS1 с N значениями от -25 с шагом 3. Рассчитайте сумму его элементов. Отобразите список и сумму на экране.

  3. Устраните из списка каждый 4-й элемент, переписав их в отдельный список SPS2. Проверьте, что сумма элементов SPS1 и SPS2 равна ранее рассчитанной сумме.

  4. Запросите у пользователя имя текстового файла для вывода результатов.

  5. Запишите в текстовый файл с указанным именем данные из SPS1 по 3 элемента на строке, разделенные пробелом. Затем в этот же файл допишите данные из SPS2 с новой строки также по 3 элемента на строке.

Решение

import os
os.chdir(r'C:\Users\uprkt\Desktop\ПО\python-labs\TEMA6')
got_n = False
while not got_n:
    n = int(input('Введите целое число от 10 до 70'))
    if n < 70 and n > 9:
        got_n = True
    else:
        print('Число не лежит в нужном диапазоне')

Введите целое число от 10 до 703
Число не лежит в нужном диапазоне
Введите целое число от 10 до 7033
sps1 = [i*3 - 25 for i in range(n)]
sps1
[-25, -22, -19, -16, -13, -10, -7, -4, -1, 2, 5, 8, 11, 14, 17, 20, 23, 26, 29, 32, 35, 38, 41, 44, 47, 50, 53, 56, 59, 62, 65, 68, 71]
print(sum(sps1))
759
sps2 = sps1[::4];sps2
[-25, -13, -1, 11, 23, 35, 47, 59, 71]
del sps1[::4]
print(sum(sps1) + sum(sps2))
759
filename = input('Введите имя файла для записи')
Введите имя файла для записиspiski.txt
f = open(filename, 'w')
for i in range(len(sps1)):
    if i % 3 == 2:
        f.write(str(sps1[i]) + '\n')
    else:
        f.write(str(sps1[i]) + ' ')

4
4
4
4
3
3
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
>>> for i in range(len(sps2)):
...     if i % 3 == 2:
...         f.write(str(sps2[i]) + '\n')
...     else:
...         f.write(str(sps2[i]) + ' ')
... 
4
4
3
3
3
3
3
3
3
>>> f.close()

Скриншот