форкнуто от main/python-labs
Вы не можете выбрать более 25 тем
Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
3.1 KiB
3.1 KiB
#Задание:
Создайте список с 10 элементами - комплексными числами, у которых вещественная и мнимая части - случайные целые числа в диапазоне значений [-10, 30].
Запросите у пользователя имя текстового файла для вывода.
Запишите список в этот файл по одному числу на строке.
Удалите список из памяти
Прочитайте содержимое файла в новый список
import random
# 1) Создание списка комплексных чисел
complex_list = []
for i in range(10):
real_part = random.randint(-10, 30)
imag_part = random.randint(-10, 30)
complex_num = complex(real_part, imag_part)
complex_list.append(complex_num)
print("Созданный список комплексных чисел:")
for i, num in enumerate(complex_list):
print(f"Элемент {i+1}: {num}")
Элемент 1: (9-2j)
Элемент 2: (13+7j)
Элемент 3: (5+9j)
Элемент 4: (14-7j)
Элемент 5: (30-6j)
Элемент 6: (24+26j)
Элемент 7: (18+24j)
Элемент 8: (13+9j)
Элемент 9: (-7-3j)
Элемент 10: (-3+0j)
# 2) Запрос имени файла
filename = input("Введите имя текстового файла для вывода: ")
# 3) Запись списка в файл
with open(filename, 'w', encoding='utf-8') as file:
for complex_num in complex_list:
file.write(str(complex_num) + '\n')
7
8
7
8
8
9
9
8
8
8
print(f"Список записан в файл: {filename}")
Список записан в файл: iz25.txt
# 4) Удаление списка из памяти
del complex_list
# Проверка удаления
try:
print(complex_list)
except NameError:
print("Список complex_list успешно удален из памяти")
Список complex_list успешно удален из памяти
# 5) Чтение содержимого файла в новый список
new_complex_list = []
with open(filename, 'r', encoding='utf-8') as file:
for line in file:
line = line.strip()
# Преобразование строки обратно в комплексное число
complex_num = complex(line.replace('(','').replace(')',''))
new_complex_list.append(complex_num)
print("\nПрочитанный из файла список комплексных чисел:")
Прочитанный из файла список комплексных чисел:
for i, num in enumerate(new_complex_list):
print(f"Элемент {i+1}: {num}")
Элемент 1: (9-2j)
Элемент 2: (13+7j)
Элемент 3: (5+9j)
Элемент 4: (14-7j)
Элемент 5: (30-6j)
Элемент 6: (24+26j)
Элемент 7: (18+24j)
Элемент 8: (13+9j)
Элемент 9: (-7-3j)
Элемент 10: (-3+0j)
print(f"Всего прочитано {len(new_complex_list)} элементов")
Всего прочитано 10 элементов