Вопрос задан 05.07.2023 в 20:18. Предмет Информатика. Спрашивает Халдеева Дарина.

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

удвоенных нечетных чисел среди компонентов файла. Python
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Дроздов Никита.

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


0 0
Отвечает Кучуков Роман.

Ответ:

--- 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()

Объяснение:

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, вот как вы можете это сделать с использованием Python:

python
import 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 случайных чисел и проверить количество удвоенных нечетных чисел среди них. Вы можете изменить количество чисел и диапазон для генерации случайных чисел по своему усмотрению.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос