форкнуто от main/python-labs
Родитель
e8d77920f8
Сommit
db9db5ce35
@ -0,0 +1,26 @@
|
||||
РЕЗУЛЬТАТЫ КОНТРОЛЬНОГО ЗАДАНИЯ
|
||||
==================================================
|
||||
|
||||
1. Преобразование восьмеричного значения:
|
||||
Восьмеричное 45 = десятичное 37
|
||||
|
||||
2. Работа со словарем:
|
||||
Исходный словарь: {'усиление': 23, 'запаздывание': 12, 'постоянная времени': 78}
|
||||
Кортеж из списков: (['усиление', 'запаздывание', 'постоянная времени'], [23, 12, 78])
|
||||
Отличие кортежа от списка: кортеж неизменяем, список изменяем
|
||||
|
||||
3. Математические операции:
|
||||
Результат: 5.278031643091577
|
||||
|
||||
4. Битвые операции:
|
||||
Результат: -32
|
||||
|
||||
5. Проверка подстроки:
|
||||
Наличие 'аткол' в 'колебатколебат': True
|
||||
|
||||
6. Методы словаря:
|
||||
Ключи: ['усиление', 'запаздывание', 'постоянная времени']
|
||||
Значения: [23, 12, 78]
|
||||
|
||||
7. Финальный список слов:
|
||||
['Создать', 'объект', ',', 'символьную', 'строку', 'с', 'текстом', 'предложения']
|
||||
@ -0,0 +1,217 @@
|
||||
# Задание
|
||||
|
||||
* Преобразовать восьмеричное значение 45 в целое число.
|
||||
* Создать объект-словарь D со значениями {"усиление":23, "запаздывание":12, "постоянная времени":78} и затем осуществить его преобразование в два списка: ключей и значений, а затем – эти два списка преобразовать в один кортеж. Чем отличается кортеж от списка?
|
||||
* Напишите и выполните единое выражение, осуществляющее деление числа 1768 на 24.8 с округлением вниз, с определением после этого остатка от деления получившегося значения на 3 и затем возведения результата в степень 2.4.
|
||||
* Напишите и выполните единое выражение, последовательно осуществляющее следующие операции: двоичное И для чисел 13 и 27, инверсия полученного значения, двоичное исключающее ИЛИ для полученного значения и числа 14, сдвиг полученного значения на два разряда влево.
|
||||
* Создать список с 4 одинаковыми элементами 'колебат' и написать оператор проверки наличия комбинации символов 'аткол' в результате конкатенации второго и третьего элементов этого списка.
|
||||
* Определить список методов, доступных у ранее созданного словаря D. Поочередно использовать его методы keys и values, определить, что можно получить с применением этих методов.
|
||||
* Создать объект - символьную строку с текстом данного предложения. Из символьной строки создать список, элементами которого будут отдельные слова из созданной строки. Заменить в списке элемент «-» на «,». Удалить из списка элемент со значением «данного». Отобразить получившийся список.
|
||||
|
||||
|
||||
```python
|
||||
print("1. Преобразование восьмеричного значения 45 в целое число:")
|
||||
octal_value = '45'
|
||||
decimal_value = int(octal_value, 8)
|
||||
print(f"Восьмеричное {octal_value} = десятичное {decimal_value}")
|
||||
print()
|
||||
|
||||
|
||||
print("2. Работа со словарем:")
|
||||
D = {"усиление": 23, "запаздывание": 12, "постоянная времени": 78}
|
||||
print(f"Исходный словарь: {D}")
|
||||
|
||||
keys_list = list(D.keys())
|
||||
values_list = list(D.values())
|
||||
print(f"Список ключей: {keys_list}")
|
||||
print(f"Список значений: {values_list}")
|
||||
|
||||
tuple_result = (keys_list, values_list)
|
||||
print(f"Кортеж из двух списков: {tuple_result}")
|
||||
|
||||
print("\nОтличие кортежа от списка:")
|
||||
print("- Кортеж НЕИЗМЕНЯЕМ (immutable) - после создания нельзя изменить элементы")
|
||||
print("- Список ИЗМЕНЯЕМ (mutable) - можно добавлять, удалять, изменять элементы")
|
||||
print("- Кортеж занимает меньше памяти и работает быстрее")
|
||||
print("- Кортеж используется для группировки разнородных данных")
|
||||
print("- Список используется для последовательностей однородных данных")
|
||||
print()
|
||||
|
||||
|
||||
print("3. Единое выражение с математическими операциями:")
|
||||
result_3 = ((1768 // 24.8) % 3) ** 2.4
|
||||
print("Выражение: ((1768 // 24.8) % 3) ** 2.4")
|
||||
print(f"Результат: {result_3}")
|
||||
print()
|
||||
|
||||
|
||||
print("4. Единое выражение с битовыми операциями:")
|
||||
result_4 = ((~(13 & 27)) ^ 14) << 2
|
||||
print("Выражение: ((~(13 & 27)) ^ 14) << 2")
|
||||
print(f"Результат: {result_4}")
|
||||
print()
|
||||
|
||||
|
||||
print("5. Работа со списком и проверка подстроки:")
|
||||
list_5 = ['колебат'] * 4
|
||||
print(f"Список: {list_5}")
|
||||
|
||||
concatenated = list_5[1] + list_5[2]
|
||||
print(f"Конкатенация 2-го и 3-го элементов: '{concatenated}'")
|
||||
|
||||
has_substring = 'аткол' in concatenated
|
||||
print(f"Наличие 'аткол' в '{concatenated}': {has_substring}")
|
||||
print()
|
||||
|
||||
|
||||
print("6. Методы словаря D:")
|
||||
methods = [method for method in dir(D) if not method.startswith('_')]
|
||||
print(f"Доступные методы: {methods}")
|
||||
|
||||
print("\nИспользование метода keys():")
|
||||
keys_method = D.keys()
|
||||
print(f" D.keys() = {keys_method}")
|
||||
print(f" Тип: {type(keys_method)}")
|
||||
print(f" Можно преобразовать в список: {list(keys_method)}")
|
||||
|
||||
print("\nИспользование метода values():")
|
||||
values_method = D.values()
|
||||
print(f" D.values() = {values_method}")
|
||||
print(f" Тип: {type(values_method)}")
|
||||
print(f" Можно преобразовать в список: {list(values_method)}")
|
||||
|
||||
print("\nВывод:")
|
||||
print(" - keys() возвращает представление ключей словаря")
|
||||
print(" - values() возвращает представление значений словаря")
|
||||
print(" - Эти представления динамически связаны со словарем")
|
||||
print(" - Изменения в словаре автоматически отражаются в представлениях")
|
||||
print()
|
||||
|
||||
|
||||
print("7. Работа со строкой и списком:")
|
||||
text = "Создать объект - символьную строку с текстом данного предложения"
|
||||
print(f"Исходный текст: '{text}'")
|
||||
|
||||
words_list = text.split()
|
||||
print(f"Список слов: {words_list}")
|
||||
|
||||
index = words_list.index('-')
|
||||
words_list[index] = ','
|
||||
print(f"После замены '-' на ',': {words_list}")
|
||||
|
||||
words_list.remove('данного')
|
||||
print(f"После удаления 'данного': {words_list}")
|
||||
|
||||
|
||||
print("\n=== ЗАПИСЬ РЕЗУЛЬТАТОВ В ФАЙЛ ===")
|
||||
with open('TEMA3/control_task_results.txt', 'w', encoding='utf-8') as file:
|
||||
file.write("РЕЗУЛЬТАТЫ КОНТРОЛЬНОГО ЗАДАНИЯ\n")
|
||||
file.write("=" * 50 + "\n\n")
|
||||
|
||||
file.write("1. Преобразование восьмеричного значения:\n")
|
||||
file.write(f" Восьмеричное {octal_value} = десятичное {decimal_value}\n\n")
|
||||
|
||||
file.write("2. Работа со словарем:\n")
|
||||
file.write(f" Исходный словарь: {D}\n")
|
||||
file.write(f" Кортеж из списков: {tuple_result}\n")
|
||||
file.write(" Отличие кортежа от списка: кортеж неизменяем, список изменяем\n\n")
|
||||
|
||||
file.write("3. Математические операции:\n")
|
||||
file.write(f" Результат: {result_3}\n\n")
|
||||
|
||||
file.write("4. Битвые операции:\n")
|
||||
file.write(f" Результат: {result_4}\n\n")
|
||||
|
||||
file.write("5. Проверка подстроки:\n")
|
||||
file.write(f" Наличие 'аткол' в '{concatenated}': {has_substring}\n\n")
|
||||
|
||||
file.write("6. Методы словаря:\n")
|
||||
file.write(f" Ключи: {list(D.keys())}\n")
|
||||
file.write(f" Значения: {list(D.values())}\n\n")
|
||||
|
||||
file.write("7. Финальный список слов:\n")
|
||||
file.write(f" {words_list}\n")
|
||||
|
||||
print("Результаты записаны в файл 'control_task_results.txt'")
|
||||
|
||||
|
||||
|
||||
print("\n=== АНАЛИЗ РЕЗУЛЬТАТОВ ===")
|
||||
print("1. Восьмеричное преобразование: успешно выполнено")
|
||||
print("2. Словарь преобразован в кортеж списков: структура данных сохранена")
|
||||
print("3. Математическое выражение: все операции выполнены в правильном порядке")
|
||||
print("4. Битовые операции: продемонстрирована работа с битовыми операторами")
|
||||
print("5. Проверка подстроки: показана работа со строками и оператором 'in'")
|
||||
print("6. Методы словаря: изучены методы keys() и values()")
|
||||
print("7. Обработка списка: выполнены все требуемые операции модификации")
|
||||
```
|
||||
|
||||
Ответ программы:
|
||||
|
||||
```shell
|
||||
1. Преобразование восьмеричного значения 45 в целое число:
|
||||
Восьмеричное 45 = десятичное 37
|
||||
|
||||
2. Работа со словарем:
|
||||
Исходный словарь: {'усиление': 23, 'запаздывание': 12, 'постоянная времени': 78}
|
||||
Список ключей: ['усиление', 'запаздывание', 'постоянная времени']
|
||||
Список значений: [23, 12, 78]
|
||||
Кортеж из двух списков: (['усиление', 'запаздывание', 'постоянная времени'], [23, 12, 78])
|
||||
|
||||
Отличие кортежа от списка:
|
||||
- Кортеж НЕИЗМЕНЯЕМ (immutable) - после создания нельзя изменить элементы
|
||||
- Список ИЗМЕНЯЕМ (mutable) - можно добавлять, удалять, изменять элементы
|
||||
- Кортеж занимает меньше памяти и работает быстрее
|
||||
- Кортеж используется для группировки разнородных данных
|
||||
- Список используется для последовательностей однородных данных
|
||||
|
||||
3. Единое выражение с математическими операциями:
|
||||
Выражение: ((1768 // 24.8) % 3) ** 2.4
|
||||
Результат: 5.278031643091577
|
||||
|
||||
4. Единое выражение с битовыми операциями:
|
||||
Выражение: ((~(13 & 27)) ^ 14) << 2
|
||||
Результат: -32
|
||||
|
||||
5. Работа со списком и проверка подстроки:
|
||||
Список: ['колебат', 'колебат', 'колебат', 'колебат']
|
||||
Конкатенация 2-го и 3-го элементов: 'колебатколебат'
|
||||
Наличие 'аткол' в 'колебатколебат': True
|
||||
|
||||
6. Методы словаря D:
|
||||
Доступные методы: ['clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
|
||||
|
||||
Использование метода keys():
|
||||
D.keys() = dict_keys(['усиление', 'запаздывание', 'постоянная времени'])
|
||||
Тип: <class 'dict_keys'>
|
||||
Можно преобразовать в список: ['усиление', 'запаздывание', 'постоянная времени']
|
||||
|
||||
Использование метода values():
|
||||
D.values() = dict_values([23, 12, 78])
|
||||
Тип: <class 'dict_values'>
|
||||
Можно преобразовать в список: [23, 12, 78]
|
||||
|
||||
Вывод:
|
||||
- keys() возвращает представление ключей словаря
|
||||
- values() возвращает представление значений словаря
|
||||
- Эти представления динамически связаны со словарем
|
||||
- Изменения в словаре автоматически отражаются в представлениях
|
||||
|
||||
7. Работа со строкой и списком:
|
||||
Исходный текст: 'Создать объект - символьную строку с текстом данного предложения'
|
||||
Список слов: ['Создать', 'объект', '-', 'символьную', 'строку', 'с', 'текстом', 'данного', 'предложения']
|
||||
После замены '-' на ',': ['Создать', 'объект', ',', 'символьную', 'строку', 'с', 'текстом', 'данного', 'предложения']
|
||||
После удаления 'данного': ['Создать', 'объект', ',', 'символьную', 'строку', 'с', 'текстом', 'предложения']
|
||||
|
||||
=== ЗАПИСЬ РЕЗУЛЬТАТОВ В ФАЙЛ ===
|
||||
Результаты записаны в файл 'TEMA3/control_task_results.txt'
|
||||
|
||||
=== АНАЛИЗ РЕЗУЛЬТАТОВ ===
|
||||
1. Восьмеричное преобразование: успешно выполнено
|
||||
2. Словарь преобразован в кортеж списков: структура данных сохранена
|
||||
3. Математическое выражение: все операции выполнены в правильном порядке
|
||||
4. Битовые операции: продемонстрирована работа с битовыми операторами
|
||||
5. Проверка подстроки: показана работа со строками и оператором 'in'
|
||||
6. Методы словаря: изучены методы keys() и values()
|
||||
7. Обработка списка: выполнены все требуемые операции модификации
|
||||
```
|
||||
@ -0,0 +1,133 @@
|
||||
print("1. Преобразование восьмеричного значения 45 в целое число:")
|
||||
octal_value = '45'
|
||||
decimal_value = int(octal_value, 8)
|
||||
print(f"Восьмеричное {octal_value} = десятичное {decimal_value}")
|
||||
print()
|
||||
|
||||
|
||||
print("2. Работа со словарем:")
|
||||
D = {"усиление": 23, "запаздывание": 12, "постоянная времени": 78}
|
||||
print(f"Исходный словарь: {D}")
|
||||
|
||||
keys_list = list(D.keys())
|
||||
values_list = list(D.values())
|
||||
print(f"Список ключей: {keys_list}")
|
||||
print(f"Список значений: {values_list}")
|
||||
|
||||
tuple_result = (keys_list, values_list)
|
||||
print(f"Кортеж из двух списков: {tuple_result}")
|
||||
|
||||
print("\nОтличие кортежа от списка:")
|
||||
print("- Кортеж НЕИЗМЕНЯЕМ (immutable) - после создания нельзя изменить элементы")
|
||||
print("- Список ИЗМЕНЯЕМ (mutable) - можно добавлять, удалять, изменять элементы")
|
||||
print("- Кортеж занимает меньше памяти и работает быстрее")
|
||||
print("- Кортеж используется для группировки разнородных данных")
|
||||
print("- Список используется для последовательностей однородных данных")
|
||||
print()
|
||||
|
||||
|
||||
print("3. Единое выражение с математическими операциями:")
|
||||
result_3 = ((1768 // 24.8) % 3) ** 2.4
|
||||
print("Выражение: ((1768 // 24.8) % 3) ** 2.4")
|
||||
print(f"Результат: {result_3}")
|
||||
print()
|
||||
|
||||
|
||||
print("4. Единое выражение с битовыми операциями:")
|
||||
result_4 = ((~(13 & 27)) ^ 14) << 2
|
||||
print("Выражение: ((~(13 & 27)) ^ 14) << 2")
|
||||
print(f"Результат: {result_4}")
|
||||
print()
|
||||
|
||||
|
||||
print("5. Работа со списком и проверка подстроки:")
|
||||
list_5 = ['колебат'] * 4
|
||||
print(f"Список: {list_5}")
|
||||
|
||||
concatenated = list_5[1] + list_5[2]
|
||||
print(f"Конкатенация 2-го и 3-го элементов: '{concatenated}'")
|
||||
|
||||
has_substring = 'аткол' in concatenated
|
||||
print(f"Наличие 'аткол' в '{concatenated}': {has_substring}")
|
||||
print()
|
||||
|
||||
|
||||
print("6. Методы словаря D:")
|
||||
methods = [method for method in dir(D) if not method.startswith('_')]
|
||||
print(f"Доступные методы: {methods}")
|
||||
|
||||
print("\nИспользование метода keys():")
|
||||
keys_method = D.keys()
|
||||
print(f" D.keys() = {keys_method}")
|
||||
print(f" Тип: {type(keys_method)}")
|
||||
print(f" Можно преобразовать в список: {list(keys_method)}")
|
||||
|
||||
print("\nИспользование метода values():")
|
||||
values_method = D.values()
|
||||
print(f" D.values() = {values_method}")
|
||||
print(f" Тип: {type(values_method)}")
|
||||
print(f" Можно преобразовать в список: {list(values_method)}")
|
||||
|
||||
print("\nВывод:")
|
||||
print(" - keys() возвращает представление ключей словаря")
|
||||
print(" - values() возвращает представление значений словаря")
|
||||
print(" - Эти представления динамически связаны со словарем")
|
||||
print(" - Изменения в словаре автоматически отражаются в представлениях")
|
||||
print()
|
||||
|
||||
|
||||
print("7. Работа со строкой и списком:")
|
||||
text = "Создать объект - символьную строку с текстом данного предложения"
|
||||
print(f"Исходный текст: '{text}'")
|
||||
|
||||
words_list = text.split()
|
||||
print(f"Список слов: {words_list}")
|
||||
|
||||
index = words_list.index('-')
|
||||
words_list[index] = ','
|
||||
print(f"После замены '-' на ',': {words_list}")
|
||||
|
||||
words_list.remove('данного')
|
||||
print(f"После удаления 'данного': {words_list}")
|
||||
|
||||
|
||||
print("\n=== ЗАПИСЬ РЕЗУЛЬТАТОВ В ФАЙЛ ===")
|
||||
with open('TEMA3/control_task_results.txt', 'w', encoding='utf-8') as file:
|
||||
file.write("РЕЗУЛЬТАТЫ КОНТРОЛЬНОГО ЗАДАНИЯ\n")
|
||||
file.write("=" * 50 + "\n\n")
|
||||
|
||||
file.write("1. Преобразование восьмеричного значения:\n")
|
||||
file.write(f" Восьмеричное {octal_value} = десятичное {decimal_value}\n\n")
|
||||
|
||||
file.write("2. Работа со словарем:\n")
|
||||
file.write(f" Исходный словарь: {D}\n")
|
||||
file.write(f" Кортеж из списков: {tuple_result}\n")
|
||||
file.write(" Отличие кортежа от списка: кортеж неизменяем, список изменяем\n\n")
|
||||
|
||||
file.write("3. Математические операции:\n")
|
||||
file.write(f" Результат: {result_3}\n\n")
|
||||
|
||||
file.write("4. Битвые операции:\n")
|
||||
file.write(f" Результат: {result_4}\n\n")
|
||||
|
||||
file.write("5. Проверка подстроки:\n")
|
||||
file.write(f" Наличие 'аткол' в '{concatenated}': {has_substring}\n\n")
|
||||
|
||||
file.write("6. Методы словаря:\n")
|
||||
file.write(f" Ключи: {list(D.keys())}\n")
|
||||
file.write(f" Значения: {list(D.values())}\n\n")
|
||||
|
||||
file.write("7. Финальный список слов:\n")
|
||||
file.write(f" {words_list}\n")
|
||||
|
||||
print("Результаты записаны в файл 'control_task_results.txt'")
|
||||
|
||||
|
||||
print("\n=== АНАЛИЗ РЕЗУЛЬТАТОВ ===")
|
||||
print("1. Восьмеричное преобразование: успешно выполнено")
|
||||
print("2. Словарь преобразован в кортеж списков: структура данных сохранена")
|
||||
print("3. Математическое выражение: все операции выполнены в правильном порядке")
|
||||
print("4. Битовые операции: продемонстрирована работа с битовыми операторами")
|
||||
print("5. Проверка подстроки: показана работа со строками и оператором 'in'")
|
||||
print("6. Методы словаря: изучены методы keys() и values()")
|
||||
print("7. Обработка списка: выполнены все требуемые операции модификации")
|
||||
Загрузка…
Ссылка в новой задаче