
Заполнить файл f целыми числами, полученными с помощью генератора случайных чисел. Найти количество
удвоенных нечетных чисел среди компонентов файла. Python

Ответы на вопрос

Программа в файле, я его переименовал в .txt чтоб можно было отправить, переименуй в .py.




Ответ:
--- Python 3.8.3 ---
import typing
from typing import Callable
from typing import AnyStr
from typing import Any
from typing import Iterable
import re
import string
import random
def ClearString(RawString):
return re.sub(r' +', ' ', re.sub(rf'[{string.punctuation}]|\n', '', RawString))
def FillFile(fname:AnyStr, data:Iterable[Any], encoding:AnyStr):
with open(fname,'a',encoding=encoding) as f:
f.write(' '.join(map(str, data)))
def LoadDataFromFile(fname:AnyStr, encoding:AnyStr):
with open(fname, 'r', encoding=encoding) as f:
rawData = f.read()
return rawData
def StringCount(RawString: AnyStr, Selector: Callable[[AnyStr], bool], splitter: AnyStr) -> int:
counter = 0
ToAnalyse = RawString.split(splitter)
for item in ToAnalyse:
if Selector(item): counter += 1
return counter
def main():
#1 половина задания
RandomSeq = [random.randint(-99, 99) for _ in range(random.randint(0, 100))]
FillFile('temp.txt', RandomSeq, 'utf-8')
#2 половина задания
RawText = LoadDataFromFile('temp.txt', 'utf-8')
CleanText = ClearString(RawText)
def IsDouble(s):
temp = str(abs(int(s)))
return len(temp) == 2 and temp[0] == temp[-1]
DoubleNums = StringCount(CleanText, IsDouble, ' ')
print(DoubleNums)
if __name__ == "__main__":
main()
Объяснение:



Конечно, вот как вы можете это сделать с использованием Python:
pythonimport random
# Генерируем случайные числа и записываем их в файл
def generate_random_numbers(filename, count):
with open(filename, 'w') as f:
for _ in range(count):
num = random.randint(1, 100) # Генерируем случайное число от 1 до 100
f.write(str(num) + '\n')
# Считаем количество удвоенных нечетных чисел в файле
def count_doubled_odd_numbers(filename):
count = 0
with open(filename, 'r') as f:
for line in f:
num = int(line.strip())
if num % 2 != 0 and num * 2 in range(1, 201): # Проверяем, что число нечетное и удвоенное значение в диапазоне [1, 200]
count += 1
return count
# Имя файла для хранения случайных чисел
filename = 'random_numbers.txt'
# Генерируем 100 случайных чисел и записываем их в файл
generate_random_numbers(filename, 100)
# Считаем количество удвоенных нечетных чисел в файле
doubled_odd_count = count_doubled_odd_numbers(filename)
print(f"Количество удвоенных нечетных чисел: {doubled_odd_count}")
Обратите внимание, что в данном примере предполагается, что файл существует в той же директории, где выполняется скрипт, и что вам нужно сгенерировать 100 случайных чисел и проверить количество удвоенных нечетных чисел среди них. Вы можете изменить количество чисел и диапазон для генерации случайных чисел по своему усмотрению.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili