форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
3.6 KiB
3.6 KiB
Общее контрольное задание по теме 6
Криви Анастасия, А-02-23
Задание
Придумайте инструкции и запишите их в файл с расширением .py , которые выполняют следующие операции:
- Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк.
- Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников.
- Записывается кортеж в бинарный файл.
- Записывается в этот же файл список и закрывается файл.
- Открывается этот файл для чтения и считывает из него данные в 2 новых объекта.
- Проверяется на совпадение новых объектов с исходными и выводится соответствующее сообщение.
- Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде отдельных списков со своими именами.
Выполнение
- Создание объекта-кортежа со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк.
import random
t1=[]
for i in range(125): t1.append(str(random.randint(6,56)))
t1=tuple(t1);t1
('32', '20', '6', '10', '51', '52', '16', '37', '35', '8', '51', '31', '23', '47', '45', '51', '42', '56', '30', '51', '36', '33', '24', '41', '16', '33', '22', '44', '39', '27', '13', '33', '29', '8', '33', '33', '18', '34', '35', '7', '12', '14', '17', '7', '51', '31', '23', '19', '38', '50', '37', '47', '56', '56', '35', '15', '33', '11', '25', '17', '28', '7', '35', '56', '23', '12', '19', '56', '21', '45', '27', '14', '47', '34', '33', '16', '21', '48', '18', '46', '39', '31', '13', '42', '35', '24', '50', '43', '52', '34', '35', '53', '16', '23', '50', '51', '49', '17', '35', '52', '36', '29', '45', '45', '25', '25', '47', '22', '56', '50', '27', '45', '17', '51', '46', '23', '9', '28', '24', '15', '48', '35', '54', '16', '39')
2-4. Создание списка, запись кортежа и списка в бинарный файл, чтение обоих объектов из файла
s1=['Криви', 'Зеленкина', 'Капитонов', 'Шинкаренко', 'Кузьменко']
import pickle
fp=open('fil.mnz', 'wb')
pickle.dump(t1, fp)
pickle.dump(s1, fp)
fp.close()
fp=open('fil.mnz', 'rb')
t2=pickle.load(fp)
s2=pickle.load(fp)
fp.close()
- Проверка на совпадение объектов
print('Кортежи совпадают') if t1 == t2 else print('Кортежи не совпадают')
Кортежи совпадают
print('Списки совпадают') if s1 == s2 else print('Списки не совпадают')
Списки совпадают
- Разделение кортежа на списки по 5 чисел, представленных в строковом виде.
for i in range(0, len(t1), 5):
exec('spisk' + str(i//5+1) + '=' + str(list(t1[i:i+5])))
spisk1
['32', '20', '6', '10', '51']
spisk2
['52', '16', '37', '35', '8']
spisk3
['51', '31', '23', '47', '45']