форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
2.6 KiB
2.6 KiB
Тест по модулю 2
Мамакин Ярослав Романович, вариант 19
Задание
-
Запросите у пользователя целое число N со значением из диапазона от 10 до 70 (проверить и при необходимости переспросить).
-
Создайте список SPS1 с N значениями от -25 с шагом 3. Рассчитайте сумму его элементов. Отобразите список и сумму на экране.
-
Устраните из списка каждый 4-й элемент, переписав их в отдельный список SPS2. Проверьте, что сумма элементов SPS1 и SPS2 равна ранее рассчитанной сумме.
-
Запросите у пользователя имя текстового файла для вывода результатов.
-
Запишите в текстовый файл с указанным именем данные из 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()
