форкнуто от main/python-labs
Родитель
ad8a2ddc29
Сommit
3eb02a9a1b
@ -1,87 +1,87 @@
|
||||
# Общее контрольное задание по Теме 6
|
||||
Ходюк Максим Романович А-01-23
|
||||
## Задание
|
||||
• Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк.
|
||||
|
||||
• Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников.
|
||||
|
||||
• Записывается кортеж в бинарный файл.
|
||||
|
||||
• Записывается в этот же файл список и закрывается файл.
|
||||
|
||||
• Открывается этот файл для чтения и считывает из него данные в 2 новых объекта.
|
||||
|
||||
• Проверяется на совпадение новых объектов с исходными и выводится соответствующее сообщение.
|
||||
|
||||
• Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде отдельных списков со своими именами.
|
||||
|
||||
### Выполнение
|
||||
|
||||
Скрипт для выполнения OKZ в файле [TaskCode.py](TaksCode.py)
|
||||
|
||||
Создание необходимого кортежа
|
||||
```
|
||||
import random as rn
|
||||
kort = []
|
||||
for i in range(125): kort.append(str(rn.choice(range(6,57))))
|
||||
|
||||
kort
|
||||
['34', '35', '31', '40', '51', '53', '18', '19', '42', '51', '18', '16', '20', '56', '21', '37', '29', '19', '22', '48', '31', '47', '40', '42', '51', '28', '20', '36', '37', '33', '14', '21', '9', '24', '16', '46', '38', '15', '37', '49', '48', '21', '45', '10', '55', '7', '33', '53', '42', '31', '56', '32', '8', '53', '7', '20', '45', '52', '11', '52', '28', '18', '8', '30', '30', '17', '36', '25', '47', '44', '25', '40', '27', '18', '20', '12', '53', '30', '20', '45', '17', '12', '21', '36', '45', '32', '30', '7', '48', '36', '12', '10', '30', '19', '19', '30', '12', '42', '52', '9', '55', '44', '22', '6', '38', '27', '27', '38', '55', '41', '52', '16', '6', '16', '43', '30', '33', '18', '12', '28', '29', '29', '28', '11', '6']
|
||||
kort = tuple(kort)
|
||||
kort
|
||||
('34', '35', '31', '40', '51', '53', '18', '19', '42', '51', '18', '16', '20', '56', '21', '37', '29', '19', '22', '48', '31', '47', '40', '42', '51', '28', '20', '36', '37', '33', '14', '21', '9', '24', '16', '46', '38', '15', '37', '49', '48', '21', '45', '10', '55', '7', '33', '53', '42', '31', '56', '32', '8', '53', '7', '20', '45', '52', '11', '52', '28', '18', '8', '30', '30', '17', '36', '25', '47', '44', '25', '40', '27', '18', '20', '12', '53', '30', '20', '45', '17', '12', '21', '36', '45', '32', '30', '7', '48', '36', '12', '10', '30', '19', '19', '30', '12', '42', '52', '9', '55', '44', '22', '6', '38', '27', '27', '38', '55', '41', '52', '16', '6', '16', '43', '30', '33', '18', '12', '28', '29', '29', '28', '11', '6')
|
||||
```
|
||||
Создание списка
|
||||
```
|
||||
spis = ['Hodyuk','Timoshenko','Kovalenko','Lykova','Ivanov']
|
||||
```
|
||||
Открытие бинарного файла и запись в него кортежа и списка, после чего закрытие файла(атрибутом .closed роисходит проверка на то,удалось ли программе открыть файл)
|
||||
```
|
||||
fp = open('TestDan.mnz','wb')
|
||||
fp.closed
|
||||
False
|
||||
pickle.dump(kort,fp)
|
||||
pickle.dump(spis,fp)
|
||||
fp.close()
|
||||
fp.closed
|
||||
True
|
||||
```
|
||||
Открытие файла для чтения из него в новые объекты данных, записанных в него
|
||||
```
|
||||
fp = open('TestDan.mnz','rb')
|
||||
kort1=pickle.load(fp)
|
||||
spis1=pickle.load(fp)
|
||||
kort1
|
||||
('34', '35', '31', '40', '51', '53', '18', '19', '42', '51', '18', '16', '20', '56', '21', '37', '29', '19', '22', '48', '31', '47', '40', '42', '51', '28', '20', '36', '37', '33', '14', '21', '9', '24', '16', '46', '38', '15', '37', '49', '48', '21', '45', '10', '55', '7', '33', '53', '42', '31', '56', '32', '8', '53', '7', '20', '45', '52', '11', '52', '28', '18', '8', '30', '30', '17', '36', '25', '47', '44', '25', '40', '27', '18', '20', '12', '53', '30', '20', '45', '17', '12', '21', '36', '45', '32', '30', '7', '48', '36', '12', '10', '30', '19', '19', '30', '12', '42', '52', '9', '55', '44', '22', '6', '38', '27', '27', '38', '55', '41', '52', '16', '6', '16', '43', '30', '33', '18', '12', '28', '29', '29', '28', '11', '6')
|
||||
spis1
|
||||
['Hodyuk', 'Timoshenko', 'Kovalenko', 'Lykova', 'Ivanov']
|
||||
```
|
||||
Проверка на совпадение новых переменных с записываемыми
|
||||
```
|
||||
if kort1==kort and spis1==spis:
|
||||
print("новые обьекты совпадают с теми, что были записаны в файл")
|
||||
else:
|
||||
print("Ошибка записи или чтения")
|
||||
```
|
||||
|
||||
новые обьекты совпадают с теми, что были записаны в файл
|
||||
```
|
||||
fp.close()
|
||||
```
|
||||
|
||||
Разделение кортежа на совокупность списков по 5 чисел, проверка их наличия в памяти
|
||||
|
||||
```
|
||||
for i in range(len(kort)//5):
|
||||
exec('list' + str(i) + '=' + str(list(kort[i:i+5])))
|
||||
|
||||
|
||||
list1
|
||||
['35', '31', '40', '51', '53']
|
||||
list0
|
||||
['34', '35', '31', '40', '51']
|
||||
list6
|
||||
['18', '19', '42', '51', '18']
|
||||
list25
|
||||
['28', '20', '36', '37', '33']
|
||||
```
|
||||
# Общее контрольное задание по Теме 6
|
||||
Ходюк Максим Романович А-01-23
|
||||
## Задание
|
||||
• Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56, представленными в виде символьных строк.
|
||||
|
||||
• Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников.
|
||||
|
||||
• Записывается кортеж в бинарный файл.
|
||||
|
||||
• Записывается в этот же файл список и закрывается файл.
|
||||
|
||||
• Открывается этот файл для чтения и считывает из него данные в 2 новых объекта.
|
||||
|
||||
• Проверяется на совпадение новых объектов с исходными и выводится соответствующее сообщение.
|
||||
|
||||
• Разделяется кортеж на совокупности по 5 чисел в каждой и они записываются в виде отдельных списков со своими именами.
|
||||
|
||||
### Выполнение
|
||||
|
||||
Скрипт для выполнения OKZ в файле [TaskCode.py](TaksCode.py)
|
||||
|
||||
Создание необходимого кортежа
|
||||
```
|
||||
import random as rn
|
||||
kort = []
|
||||
for i in range(125): kort.append(str(rn.choice(range(6,57))))
|
||||
|
||||
kort
|
||||
['34', '35', '31', '40', '51', '53', '18', '19', '42', '51', '18', '16', '20', '56', '21', '37', '29', '19', '22', '48', '31', '47', '40', '42', '51', '28', '20', '36', '37', '33', '14', '21', '9', '24', '16', '46', '38', '15', '37', '49', '48', '21', '45', '10', '55', '7', '33', '53', '42', '31', '56', '32', '8', '53', '7', '20', '45', '52', '11', '52', '28', '18', '8', '30', '30', '17', '36', '25', '47', '44', '25', '40', '27', '18', '20', '12', '53', '30', '20', '45', '17', '12', '21', '36', '45', '32', '30', '7', '48', '36', '12', '10', '30', '19', '19', '30', '12', '42', '52', '9', '55', '44', '22', '6', '38', '27', '27', '38', '55', '41', '52', '16', '6', '16', '43', '30', '33', '18', '12', '28', '29', '29', '28', '11', '6']
|
||||
kort = tuple(kort)
|
||||
kort
|
||||
('34', '35', '31', '40', '51', '53', '18', '19', '42', '51', '18', '16', '20', '56', '21', '37', '29', '19', '22', '48', '31', '47', '40', '42', '51', '28', '20', '36', '37', '33', '14', '21', '9', '24', '16', '46', '38', '15', '37', '49', '48', '21', '45', '10', '55', '7', '33', '53', '42', '31', '56', '32', '8', '53', '7', '20', '45', '52', '11', '52', '28', '18', '8', '30', '30', '17', '36', '25', '47', '44', '25', '40', '27', '18', '20', '12', '53', '30', '20', '45', '17', '12', '21', '36', '45', '32', '30', '7', '48', '36', '12', '10', '30', '19', '19', '30', '12', '42', '52', '9', '55', '44', '22', '6', '38', '27', '27', '38', '55', '41', '52', '16', '6', '16', '43', '30', '33', '18', '12', '28', '29', '29', '28', '11', '6')
|
||||
```
|
||||
Создание списка
|
||||
```
|
||||
spis = ['Hodyuk','Timoshenko','Kovalenko','Lykova','Ivanov']
|
||||
```
|
||||
Открытие бинарного файла [TestDan.mnz](Test.Dan.mnz) и запись в него кортежа и списка, после чего закрытие файла(атрибутом .closed роисходит проверка на то,удалось ли программе открыть файл)
|
||||
```
|
||||
fp = open('TestDan.mnz','wb')
|
||||
fp.closed
|
||||
False
|
||||
pickle.dump(kort,fp)
|
||||
pickle.dump(spis,fp)
|
||||
fp.close()
|
||||
fp.closed
|
||||
True
|
||||
```
|
||||
Открытие файла для чтения из него в новые объекты данных, записанных в него
|
||||
```
|
||||
fp = open('TestDan.mnz','rb')
|
||||
kort1=pickle.load(fp)
|
||||
spis1=pickle.load(fp)
|
||||
kort1
|
||||
('34', '35', '31', '40', '51', '53', '18', '19', '42', '51', '18', '16', '20', '56', '21', '37', '29', '19', '22', '48', '31', '47', '40', '42', '51', '28', '20', '36', '37', '33', '14', '21', '9', '24', '16', '46', '38', '15', '37', '49', '48', '21', '45', '10', '55', '7', '33', '53', '42', '31', '56', '32', '8', '53', '7', '20', '45', '52', '11', '52', '28', '18', '8', '30', '30', '17', '36', '25', '47', '44', '25', '40', '27', '18', '20', '12', '53', '30', '20', '45', '17', '12', '21', '36', '45', '32', '30', '7', '48', '36', '12', '10', '30', '19', '19', '30', '12', '42', '52', '9', '55', '44', '22', '6', '38', '27', '27', '38', '55', '41', '52', '16', '6', '16', '43', '30', '33', '18', '12', '28', '29', '29', '28', '11', '6')
|
||||
spis1
|
||||
['Hodyuk', 'Timoshenko', 'Kovalenko', 'Lykova', 'Ivanov']
|
||||
```
|
||||
Проверка на совпадение новых переменных с записываемыми
|
||||
```
|
||||
if kort1==kort and spis1==spis:
|
||||
print("новые обьекты совпадают с теми, что были записаны в файл")
|
||||
else:
|
||||
print("Ошибка записи или чтения")
|
||||
```
|
||||
|
||||
новые обьекты совпадают с теми, что были записаны в файл
|
||||
```
|
||||
fp.close()
|
||||
```
|
||||
|
||||
Разделение кортежа на совокупность списков по 5 чисел, проверка их наличия в памяти
|
||||
|
||||
```
|
||||
for i in range(len(kort)//5):
|
||||
exec('list' + str(i) + '=' + str(list(kort[i:i+5])))
|
||||
|
||||
|
||||
list1
|
||||
['35', '31', '40', '51', '53']
|
||||
list0
|
||||
['34', '35', '31', '40', '51']
|
||||
list6
|
||||
['18', '19', '42', '51', '18']
|
||||
list25
|
||||
['28', '20', '36', '37', '33']
|
||||
```
|
||||
|
||||
Загрузка…
Ссылка в новой задаче