форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
84 строки
4.7 KiB
Markdown
84 строки
4.7 KiB
Markdown
# Общее контрольное задание по теме 6
|
|
|
|
Киреев Юрий, А-02-23
|
|
|
|
## Задание
|
|
Придумайте инструкции и запишите их в файл с расширением .py , которые выполняют следующие операции:
|
|
1. Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк.
|
|
2. Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников.
|
|
3. Записывается кортеж в бинарный файл.
|
|
4. Записывается в этот же файл список и закрывается файл.
|
|
5. Открывается этот файл для чтения и считывает из него данные в 2 новых объекта.
|
|
6. Проверяется на совпадение новых объектов с исходными и выводится соответствующее сообщение.
|
|
7. Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде отдельных списков со своими именами.
|
|
|
|
## Решение
|
|
1.
|
|
```py
|
|
>>> import random
|
|
>>> kort = tuple([str(random.randint(6, 56)) for i in range(125)])
|
|
>>> kort
|
|
('47', '25', '20', '55', '38', '33', '19', '6', '19', '35', '6', '51', '25', '21', '10', '50', '39', '33', '55', '38', '24', '26', '38', '21', '53', '46', '53', '11', '51', '28', '48', '22', '54', '52', '17', '24', '35', '33', '6', '26', '32', '12', '19', '35', '52', '44', '18', '54', '22', '8', '25', '55', '27', '18', '11', '22', '30', '27', '52', '48', '45', '41', '23', '39', '46', '25', '36', '7', '33', '18', '42', '43', '38', '15', '49', '41', '14', '22', '41', '47', '8', '35', '18', '46', '51', '35', '27', '51', '36', '37', '19', '38', '47', '21', '40', '34', '6', '7', '8', '28', '12', '28', '6', '14', '25', '12', '56', '45', '41', '17', '40', '54', '35', '25', '49', '17', '41', '22', '11', '38', '48', '8', '23', '34', '36')
|
|
```
|
|
2.
|
|
```py
|
|
>>> lastnames = ['Киреев', 'Беженарь', 'Володин', 'Криви', 'Кузьменко']
|
|
```
|
|
3.
|
|
```py
|
|
>>> fp = open("binary.bin", "wb")
|
|
>>> pickle.dump(kort, fp)
|
|
```
|
|
4.
|
|
```py
|
|
>>> pickle.dump(lastnames, fp)
|
|
>>> fp.close()
|
|
```
|
|
5.
|
|
```py
|
|
>>> fp = open("binary.bin", "rb")
|
|
>>> kort2 = pickle.load(fp)
|
|
>>> lastnames2 = pickle.load(fp)
|
|
>>> print(kort2, lastnames2)
|
|
('47', '25', '20', '55', '38', '33', '19', '6', '19', '35', '6', '51', '25', '21', '10', '50', '39', '33', '55', '38', '24', '26', '38', '21', '53', '46', '53', '11', '51', '28', '48', '22', '54', '52', '17', '24', '35', '33', '6', '26', '32', '12', '19', '35', '52', '44', '18', '54', '22', '8', '25', '55', '27', '18', '11', '22', '30', '27', '52', '48', '45', '41', '23', '39', '46', '25', '36', '7', '33', '18', '42', '43', '38', '15', '49', '41', '14', '22', '41', '47', '8', '35', '18', '46', '51', '35', '27', '51', '36', '37', '19', '38', '47', '21', '40', '34', '6', '7', '8', '28', '12', '28', '6', '14', '25', '12', '56', '45', '41', '17', '40', '54', '35', '25', '49', '17', '41', '22', '11', '38', '48', '8', '23', '34', '36') ['Киреев', 'Беженарь', 'Володин', 'Криви', 'Кузьменко']
|
|
>>> fp.close()
|
|
```
|
|
6.
|
|
```py
|
|
>>> if (kort2 == kort): print("Кортежи совпадают")
|
|
Кортежи совпадают
|
|
>>> if (lastnames2 == lastnames): print("Списки совпадают")
|
|
Списки совпадают
|
|
```
|
|
7.
|
|
```py
|
|
>>> for i in range(0, len(kort), 5):
|
|
exec(f'spis{i//5} = list(kort[i:i + 5])')
|
|
>>> for i in range(len(kort) // 5):
|
|
exec(f'print("spis" + str(i) + ":", spis{i})')
|
|
spis0: ['47', '25', '20', '55', '38']
|
|
spis1: ['33', '19', '6', '19', '35']
|
|
spis2: ['6', '51', '25', '21', '10']
|
|
spis3: ['50', '39', '33', '55', '38']
|
|
spis4: ['24', '26', '38', '21', '53']
|
|
spis5: ['46', '53', '11', '51', '28']
|
|
spis6: ['48', '22', '54', '52', '17']
|
|
spis7: ['24', '35', '33', '6', '26']
|
|
spis8: ['32', '12', '19', '35', '52']
|
|
spis9: ['44', '18', '54', '22', '8']
|
|
spis10: ['25', '55', '27', '18', '11']
|
|
spis11: ['22', '30', '27', '52', '48']
|
|
spis12: ['45', '41', '23', '39', '46']
|
|
spis13: ['25', '36', '7', '33', '18']
|
|
spis14: ['42', '43', '38', '15', '49']
|
|
spis15: ['41', '14', '22', '41', '47']
|
|
spis16: ['8', '35', '18', '46', '51']
|
|
spis17: ['35', '27', '51', '36', '37']
|
|
spis18: ['19', '38', '47', '21', '40']
|
|
spis19: ['34', '6', '7', '8', '28']
|
|
spis20: ['12', '28', '6', '14', '25']
|
|
spis21: ['12', '56', '45', '41', '17']
|
|
spis22: ['40', '54', '35', '25', '49']
|
|
spis23: ['17', '41', '22', '11', '38']
|
|
spis24: ['48', '8', '23', '34', '36']
|
|
``` |