
class NumProcessor():
def __init__(self, length, endSymb):
self.main_buffer = []
self.search_lengt = length
self.search_endSymbol = endSymb
def addNum(self, *nums):
for num in nums:
self.main_buffer.append(num)
def sortLen(self, length, array):
for item in array:
if len(str(item)) == length:
yield item
def sortEndSymb(self, symbol, array):
for item in array:
if str(item)[-1] == str(symbol):
yield item
def sort(self):
servBufferlen = [int(i) for i in self.sortLen(self.search_lengt, self.main_buffer)]
servBufferendSym = [int(i) for i in self.sortEndSymb(self.search_endSymbol, servBufferlen)]
return min(servBufferendSym)
def insert_nums():
result = []
print('What count of numbers you want to process?\n')
n = int(input())
for i in range(n):
result.append(input())
return result
def main():
processor = NumProcessor(3, '6')
processor.addNum(*insert_nums())
result = processor.sort()
if len(result) == 0:
print('НЕ НАЙДЕНО')
else:
print(result)
if __name__ == '__main__':
main()
input()
Объяснение:
Код протестирован и работает. Копировать с сайта не нужно, ибо ломаются табуляции в коде. Вы можете ознакомиться с решением задания и попытаться повторить это самостоятельно, или попросить в комментариях меня, я залью этот код на pastebin.com и дам вам ссылку, оттуда можно спокойно будет скопировать решение. Ниже приложен скриншот оригинала кода
1) От 10 до 14
2) random(1, 10); random(-10,10); random(50,100);
3)
var a:array[1..100] of integer;
i, p, o:integer;
begin
p := 0;
o := 0;
for i := 1 to 100 do
a[i] := random(-20, 20);
writeln(a);
for i := 1 to 100 do begin
if a[i] >= 0 then p := p + 1
else o := o + 1;
end;
writeln('Положительных: ' + p);
writeln('Отрицательных: ' + o);
end.
4)
var a:array[1..20] of integer;
b:array[1..20] of integer;
i:integer;
begin
randomize;
for i := 1 to 20 do
begin
a[i] := random(1, 5);
b[i] := random(1, 5);
end;
for i := 1 to 20 do begin
if a[i] = b[i] then begin
writeln('Номер: ' + i);
writeln('Значение: ' + a[i]);
end;
end;
end.