форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
4.6 KiB
4.6 KiB
Общее контрольное задание по теме 6
Ефимова Людмила, А-03-23
Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк.
import random as rn
kort = tuple(str(rn.randint(6, 56)) for i in range(126))
kort
('42', '36', '38', '37', '20', '52', '26', '16', '21', '41', '7', '18', '56', '40', '16', '40', '10', '55', '13', '44', '26', '11', '49', '29', '51', '37', '11', '32', '51', '50', '22', '25', '6', '11', '17', '36', '34', '10', '35', '45', '36', '34', '30', '28', '13', '50', '53', '19', '54', '30', '55', '33', '27', '46', '33', '55', '41', '26', '44', '18', '51', '52', '13', '23', '38', '34', '9', '6', '18', '12', '37', '30', '46', '10', '40', '46', '20', '18', '7', '14', '38', '11', '16', '50', '31', '22', '37', '6', '34', '38', '11', '44', '27', '10', '35', '39', '10', '50', '47', '24', '29', '6', '38', '50', '15', '56', '9', '22', '55', '10', '17', '14', '8', '34', '37', '28', '50', '22', '41', '10', '34', '34', '9', '8', '18', '40')
Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников.
sps = ['Ефимова', 'Антонов', 'Девятова', 'Гордиевских']
Записывается кортеж в бинарный файл. Записывается в этот же файл список и закрывается файл.
import pickle
import os
os.chdir('H:\\study\\ПОАС')
fp = open('task.bin', 'wb')
pickle.dump(kort, fp)
Открывается этот файл для чтения и считывает из него данные в 2 новых объекта.
pickle.dump(sps, fp)
fp.close()
Проверяется на совпадение новых объектов с исходными и выводится соответствующее сообщение.
fp = open("task.bin", "rb")
newKort = pickle.load(fp)
obj1=pickle.load(fp)
fp.close()
newKort == kort; obj1 == sps
True
True
newKort
('42', '36', '38', '37', '20', '52', '26', '16', '21', '41', '7', '18', '56', '40', '16', '40', '10', '55', '13', '44', '26', '11', '49', '29', '51', '37', '11', '32', '51', '50', '22', '25', '6', '11', '17', '36', '34', '10', '35', '45', '36', '34', '30', '28', '13', '50', '53', '19', '54', '30', '55', '33', '27', '46', '33', '55', '41', '26', '44', '18', '51', '52', '13', '23', '38', '34', '9', '6', '18', '12', '37', '30', '46', '10', '40', '46', '20', '18', '7', '14', '38', '11', '16', '50', '31', '22', '37', '6', '34', '38', '11', '44', '27', '10', '35', '39', '10', '50', '47', '24', '29', '6', '38', '50', '15', '56', '9', '22', '55', '10', '17', '14', '8', '34', '37', '28', '50', '22', '41', '10', '34', '34', '9', '8', '18', '40')
obj1
['Ефимова', 'Антонов', 'Девятова', 'Гордиевских']
Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде отдельных списков со своими именами.
a={}
for i in range(0, len(kort), 5):
a['группа ' + str(i//5)] = list(kort[i:i+5])
for group_name, numbers in a.items():
print(f"{group_name}: {numbers}")
группа0: ['42', '36', '38', '37', '20']
группа1: ['52', '26', '16', '21', '41']
группа2: ['7', '18', '56', '40', '16']
группа3: ['40', '10', '55', '13', '44']
группа4: ['26', '11', '49', '29', '51']
группа5: ['37', '11', '32', '51', '50']
группа6: ['22', '25', '6', '11', '17']
группа7: ['36', '34', '10', '35', '45']
группа8: ['36', '34', '30', '28', '13']
группа9: ['50', '53', '19', '54', '30']
группа10: ['55', '33', '27', '46', '33']
группа11: ['55', '41', '26', '44', '18']
группа12: ['51', '52', '13', '23', '38']
группа13: ['34', '9', '6', '18', '12']
группа14: ['37', '30', '46', '10', '40']
группа15: ['46', '20', '18', '7', '14']
группа16: ['38', '11', '16', '50', '31']
группа17: ['22', '37', '6', '34', '38']
группа18: ['11', '44', '27', '10', '35']
группа19: ['39', '10', '50', '47', '24']
группа20: ['29', '6', '38', '50', '15']
группа21: ['56', '9', '22', '55', '10']
группа22: ['17', '14', '8', '34', '37']
группа23: ['28', '50', '22', '41', '10']
группа24: ['34', '34', '9', '8', '18']
группа25: ['40']