--- Python 3.8.3 ---
#Не удаляйте импорты
import typing
from typing import Callable
from typing import AnyStr
from typing import Any
from typing import Iterable
from typing import List
#DEFINING USER TYPES
Numeric = typing.TypeVar('Numeric', int, float, complex)
#ENDDEF
#Решение задания 1
def StringCount(RawString: AnyStr, Selector: Callable[[AnyStr], bool], splitter: AnyStr = None) -> int:
counter = 0
if splitter:
ToAnalyse = RawString.split(splitter)
else:
ToAnalyse = list(RawString)
for item in ToAnalyse:
if Selector(item): counter += 1
return counter
#Вс функция для решения задания 2. Возвращает считанные из файла данные
def LoadDataFromFile(fname:AnyStr, encoding:AnyStr):
with open(fname, 'r', encoding=encoding) as f:
rawData = f.read()
return rawData
def Product(data: Iterable[Numeric]):
#Перемножает все значения в переданной последовательности.
#Последовательность НЕ МОЖЕТ содержать какие либо элементы, кроме чисел
p = 1
for i in data: p *= i
return p
def Dump(fname: AnyStr, data: AnyStr, encoding: AnyStr):
with open(fname, 'w', encoding=encoding) as f:
f.write(str(data))
def Task1():
'''
Использует фукнцию StringCount(RawString: AnyStr, Selector: Callable[[AnyStr], bool], splitter: AnyStr = None)
При помещении в отдельный файл функции Task2, в этот же файл необходимо поместить фукнцию StringCount(), а так же выполнить следующие импорты:
import typing
from typing import Any
from typing import AnyStr
from typing import Callable
При помещении в отельный файл код из функции Task1() можно поместить в глобальную область.
'''
RawNum = input()
fives = StringCount(RawNum, lambda s: s == '5')
print(f'"5" count: {fives}')
def Task2():
'''
Использует функции:
LoadDataFromFile(fname:AnyStr, encoding:AnyStr)
Dump(fname: AnyStr, data: AnyStr, encoding: AnyStr)
При помещении функции Task2 в отдельный файл,
в этот же файл необходимо поместить функцию LoadDataFromFile(), Функцию Dump(),
а так же выполнить следующие импорты:
import typing
from typing import Any
from typing import AnyStr
from typing import Iterable
а так же сразу после импортов добавить следующую строку:
Numeric = typing.TypeVar('Numeric', int, float, complex)
при помещении в отдельный файл код из функции Task2() можно поместить в глобальную область.
'''
Numbers = [int(i) for i in LoadDataFromFile('input.txt', 'utf-8').split('\n')]
Dump('Output.txt', Product(Numbers), 'utf-8')
P.S Не советую что то менять, если вы плохо разбираетесь. Решение представляет собой цельную программу, которая выполняет оба задания сразу.
P.S 2 Код работает для интерпретатора Python 3.5 и выше
P.S 3 Код протестирован
P.S 4 Файл, в котором лежат входные данные для задачи 2, должен называться input.txt и лежать в одной директории с файлом программы
P.S 5 Если вы тупо скопируете код, Интерпретатор может начать ругаться. Это вызвано тем, что наш любимый сайт подменяет табуляции и подряд идущие пробелы каким то своим дурацким символом, который не может переварить интерпретатор
Код ко второй и восьмой задачам:
{2-nd task}
var t,p,x,a,y: real;
begin
write('t = ');
readln(t);
write('p = ');
readln(p);
write('x = ');
readln(x);
write('a = ');
readln(a);
y:= (exp(ln(t)*p))*(exp(ln(x)*5))*(1 - (x - (exp(ln(a)*x)))/((exp(ln(x)*2)) + 5.3));
writeln('y = ',y:0:2);
end.
{8-th task}
var x,a,y,b,r,q,d: real;
begin
write('a = ');
readln(a);
write('y = ');
readln(y);
write('b = ');
readln(b);
write('r = ');
readln(r);
write('q = ');
readln(q);
write('d = ');
readln(d);
x:= ((exp(ln(cos(y))*a)) - (exp(ln((sin(exp(ln(r)*8*q))))*b)))/((exp(ln(d)*(2*a*b))) + 18.31);
writeln('x = ',x:0:2);
end.
Поделитесь своими знаниями, ответьте на вопрос:
Вкаком году было открытее радиосвязи
в 19 веке в 80гг эдисон проводил исследования по поводу передачи информации на расстояния без проводов. но ему не удалось решить эту проблему.
радиосвязь была открыта ас поповым в 1895 году. в 1896 годк не зависимо от попова отркыл второй раз г маркони.