Решение задачи
# Задача 3: Запись нового файла Описание: У Вас есть файл с номерами кошельков. Программа должна перемешать этот список, присвоить каждому кошельку рандомное значение с плавающей запятой (от 0.001 до 0.5) и если это значение больше 0.2, записать в файл
- Программирование
Условие:
# Задача 3: Запись нового файла
Описание: У Вас есть файл с номерами кошельков. Программа должна перемешать этот список,
присвоить каждому кошельку рандомное значение с плавающей запятой (от 0.001 до 0.5) и если это
значение больше 0.2, записать в файл large.txt, если меньше, то small.txt. Значение должно быть с пятью
знаками после запятой.
Домашнее задание
import random
with open("wallets", "r") as file:
wallets = file.readlines()
random.shuffle(wallets)
randomfloat = random.uniform(1, 5)
if randomfloat > 0.2:
with open("large.txt", "w") as file:
file.write(round(randomfloat, 5))
print(f"Значение числа больше 0,2: {randomfloat}\n")
elif randomfloat <= 0.2:
with open("small.txt", "w") as file:
file.write(round()randomfloat))
print(f"Значение числа меньше 0,2: {randomfloat}\n")
Решение:
Ниже привожу исправленный код с подробным описанием каждого шага и комментариями: ────────────────────────────── КОД: ───────────────────────────...
with open(wallets, r) as file: wallets = [line.strip() for line in file if line.strip()] random.shuffle(wallets) with open(large.txt, w) as largefile: # 4. Для каждого кошелька из перемешанного списка: for wallet in wallets: # Генерируем случайное число с плавающей точкой в диапазоне от 0.001 до 0.5. value = random.uniform(0.001, 0.5) # Форматируем число так, чтобы было ровно 5 знаков после запятой. formattedalue = f{value:.5f} # Подготавливаем строку для записи: номер кошелька и соответствующее значение. line = f{wallet} {formattedalue}\n # 5. Если значение больше 0.2 – записываем в файл large.txt, иначе – в файл small.txt. if value 0.2: largeile.write(line) else: smallile.write(line) print(Файлы сформированы.) ────────────────────────────── Пошаговое объяснение: 1. Сначала мы открываем файл wallets для чтения, считываем все строки и отбрасываем лишние пробельные символы с помощью метода strip(). Это позволяет избежать проблемы с лишними символами перевода строки. 2. Далее с помощью функции random.shuffle() перемешиваем список кошельков, чтобы их порядок стал случайным. 3. Затем открываем два файла – large.txt и small.txt – для записи. Используем менеджер контекста with, чтобы файлы автоматически закрывались по завершении работы с ними. 4. Для каждого кошелька: a) Генерируем случайное число (value) с плавающей точкой в диапазоне от 0.001 до 0.5 с помощью random.uniform(0.001, 0.5). b) Форматируем это число до пяти знаков после запятой с помощью конструкции f{value:.5f}. c) Формируем строку, содержащую номер кошелька и отформатированное число, разделённые пробелом, а в конце добавляем символ новой строки. d) Если значение value больше 0.2, записываем строку в файл large.txt, если value меньше или равно 0.2 – записываем в файл small.txt. 5. В конце выводим сообщение о завершении процесса. Таким образом, программа правильно выполняет задание: она перемешивает кошельки, генерирует для каждого случайное значение в заданном диапазоне (с пятью знаками после запятой) и распределяет их между двумя файлами в зависимости от условия (value 0.2 или value = 0.2).Похожие задачи
Не нашел нужную задачу?
Воспользуйся поиском
Выбери предмет
S
А
Б
В
Г
И
К
М
П
- Правоохранительные органы
- Пожарная безопасность
- Парикмахерское искусство
- Природообустройство и водопользование
- Почвоведение
- Приборостроение и оптотехника
- Промышленный маркетинг и менеджмент
- Производственный маркетинг и менеджмент
- Процессы и аппараты
- Программирование
- Право и юриспруденция
- Психология
- Политология
- Педагогика
Р
С
Т
- Трудовое право
- Теория государства и права (ТГП)
- Таможенное право
- Теория игр
- Текстильная промышленность
- Теория вероятностей
- Теоретическая механика
- Теория управления
- Технология продовольственных продуктов и товаров
- Технологические машины и оборудование
- Теплоэнергетика и теплотехника
- Туризм
- Товароведение
- Таможенное дело
- Торговое дело
- Теория машин и механизмов
- Транспортные средства
Ф
Э