форкнуто от main/python-labs
main
Родитель
b74c73fe72
Сommit
f307214522
@ -0,0 +1,62 @@
|
|||||||
|
• Создаётся объект-кортеж со 125 целыми случайными числами из диапазона от 6 до 56,
|
||||||
|
представленными в виде символьных строк.
|
||||||
|
```py
|
||||||
|
>>> nums = tuple(str(random.randint(6, 56)) for _ in range(125))
|
||||||
|
>>> nums
|
||||||
|
('41', '37', '13', '26', '9', '33', '55', '50', '51', '44', '38', '17', '18', '18', '36',
|
||||||
|
'23', '43', '38', '41', '42', '53', '16', '41', '34', '38', '48', '37', '17', '36', '48',
|
||||||
|
'31', '34', '51', '18', '12', '37', '42', '50', '47', '26', '27', '30', '26', '11', '19',
|
||||||
|
'56', '15', '7', '6', '45', '22', '37', '36', '54', '31', '35', '46', '54', '31', '13',
|
||||||
|
...'41', '9', '9', '22')
|
||||||
|
```
|
||||||
|
Примечание: если итератор не надо использовать в теле цикла, принято просто обозначать его _
|
||||||
|
|
||||||
|
• Создаётся объект-список с вашей фамилией и 4 фамилиями ваших одноклассников.
|
||||||
|
```py
|
||||||
|
>>> group = ["Tsvetkova", "Konovalova", "Kiselyov", "Kirsanov", "Romanov"]
|
||||||
|
```
|
||||||
|
• Записывается кортеж в бинарный файл.
|
||||||
|
```py
|
||||||
|
>>> fl = open("okz.okz", "wb")
|
||||||
|
>>> pickle.dump(nums, fl)
|
||||||
|
```
|
||||||
|
• Записывается в этот же файл список и закрывается файл.
|
||||||
|
```py
|
||||||
|
>>> pickle.dump(group, fl)
|
||||||
|
>>> fl.close()
|
||||||
|
```
|
||||||
|
• Открывается этот файл для чтения и считывает из него данные в 2 новых объекта.
|
||||||
|
```py
|
||||||
|
>>> fl = open("okz.okz", "rb")
|
||||||
|
>>> nums1 = pickle.load(fl)
|
||||||
|
>>> nums1
|
||||||
|
('41', '37', ... '41', '9', '9', '22')
|
||||||
|
>>> group1 = pickle.load(fl)
|
||||||
|
>>> group1
|
||||||
|
['Tsvetkova', 'Konovalova', 'Kiselyov', 'Kirsanov', 'Romanov']
|
||||||
|
```
|
||||||
|
Примечание: при чтении с помощью pickle.load() тоже есть указатель, который останавливается
|
||||||
|
при достижении /n, так что можно просто вызвать ее два раза, чтобы записать эти два объекта.
|
||||||
|
Если вызвать ее третий раз, будет EOFError.
|
||||||
|
|
||||||
|
• Проверяется на совпадение новых объектов с исходными и выводится соответствующее сообщение.
|
||||||
|
```py
|
||||||
|
>>> print("Файлы nums совпадают!") if nums == nums1 else print("Файлы nums не совпадают :(")
|
||||||
|
Файлы nums совпадают!
|
||||||
|
>>> print("Файлы group совпадают!") if group == group1 else print("Файлы group не совпадают :(")
|
||||||
|
Файлы group совпадают!
|
||||||
|
```
|
||||||
|
• Разделяется кортеж на совокупности по 5 чисел в каждой и
|
||||||
|
они записываются в виде отдельных списков со своими именами. (Динамические имена, согласно
|
||||||
|
примечанию на git uit)
|
||||||
|
```py
|
||||||
|
>>> for i in range(125//5):
|
||||||
|
exec('list' + str(i) + '=' + str(list(nums1[i:i+5])))
|
||||||
|
```
|
||||||
|
Можно вызвать конкретные списки для проверки:
|
||||||
|
```py
|
||||||
|
>>> list1
|
||||||
|
['37', '13', '26', '9', '33']
|
||||||
|
>>> list6
|
||||||
|
['55', '50', '51', '44', '38']
|
||||||
|
```
|
||||||
Загрузка…
Ссылка в новой задаче