61 lines
1.6 KiB
Python
61 lines
1.6 KiB
Python
|
# Установите полный путь к файлу, из которого нужно читать числа.
|
||
|
DATA_FILE = "/var/data/data.txt"
|
||
|
|
||
|
# Полный путь до файла результата.
|
||
|
RESULT_FILE = "/var/result/result.txt"
|
||
|
|
||
|
|
||
|
def find_smallest_number(data_file):
|
||
|
"""Ищет наименьшее число в заданном файле."""
|
||
|
|
||
|
try:
|
||
|
with open(data_file, "r") as f:
|
||
|
numbers = [int(line.strip()) for line in f.readlines()]
|
||
|
|
||
|
smallest_num = min(numbers)
|
||
|
return smallest_num
|
||
|
|
||
|
except ValueError as e:
|
||
|
print(f"Ошибка при преобразовании строк в числа: {e}")
|
||
|
|
||
|
except Exception as e:
|
||
|
print(f"Ошибка чтения файла '{data_file}': {e}")
|
||
|
|
||
|
return None
|
||
|
|
||
|
|
||
|
def cube_number(num):
|
||
|
"""Возвращает куб заданного числа."""
|
||
|
|
||
|
return num**3
|
||
|
|
||
|
|
||
|
def write_result(result_file, result):
|
||
|
"""Записывает результат в файл."""
|
||
|
|
||
|
try:
|
||
|
with open(result_file, "w") as f:
|
||
|
f.write(str(result))
|
||
|
|
||
|
print(f"Результат '{result}' успешно записан в '{result_file}'.")
|
||
|
|
||
|
except Exception as e:
|
||
|
print(f"Ошибка записи результата в файл '{result_file}': {e}")
|
||
|
|
||
|
|
||
|
def main():
|
||
|
smallest_num = find_smallest_number(DATA_FILE)
|
||
|
|
||
|
if smallest_num is not None:
|
||
|
result = cube_number(smallest_num)
|
||
|
|
||
|
write_result(RESULT_FILE, result)
|
||
|
print(result)
|
||
|
|
||
|
else:
|
||
|
print("Нет чисел в файле.")
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
main()
|