#!/usr/bin/python3
'''
пологаю, условие как есть: без пробелов, без OCR, без какого-либо форматирования
т.е. вводные строки текста выглядят так:
aaaaaayyyymmddbbbbbbbccccсрочныйeeee
я добавил поддержку некоторых разделителей в выражение, на случай если они
всётаки имеются
тестовые данные:
123456199601011234567987срочный000
123456199603291234567987срочный000
123456 1996-03-29 1234567 987 срочный 000
123456200109111234567987срочный000
тогда, решаем это с помощью регулярных выражений
как видно, в условии не сказано, что считать за код города. предположим,
что код города - это первая цифра от num2
'''
import re
import datetime
R = re.compile(
r'\s*(?P<num1>\d{6})\s*(?P<y>\d{4})\-?(?P<m>\d{2})\-?(?P<d>\d{2})\s*'
r'(?P<num2>\d{7})\s*'
r'(?P<time>\d+)\s*(?P<urgency>(срочный|обычный))\s*(?P<price>\d+)\s*'
)
d1 = datetime.datetime(1996, 3, 15)
d2 = datetime.datetime(1996, 4, 12)
while True:
a = ""
try:
a = input("введи> ")
except EOFError:
print("\n")
exit(0)
res = R.match(a)
if res == None:
print("ошибка парсинга")
continue
dd = datetime.datetime.now()
try:
dd = datetime.datetime(
int(res.group("y")),
int(res.group("m")),
int(res.group("d"))
)
except ValueError:
print("неправильная дата")
if res.group("urgency") == "срочный" and (dd > d1 and dd < d2):
n = res.group("num2")
print("номер1 {}, код {}, номер2 {}".format(
res.group("num1"), n[0], n[1:]))
Max = A
if B > Max then Max = B
if C > Max then Max = C
Или по-другому
if (A>B) and (A>C) then Max = A
if (B>A) and (B>C) then Max = B
if (C>B) and (C>A) then Max = C
Uses Crt;
procedure MinMax(a,b:integer; var min,max:integer);
begin
if a>b then begin max:=a; min:=b end
else begin max:=b; min:=a end
end;
var
x,y,mx,mn:integer;
begin
ClrScr;
Write('a,b= '); Read(x,y);
MinMax(x,y,mn,mx);
Writeln('min=',mn,', max=',mx);
ReadKey
end.
<em><u>Тестовое решение:</u></em>
a,b= 163 97
min=97, max=163
1280x1024x8= 10485760 бит, делим на 8, будет 1310720 байт, делим на 1024, будет 1280кб или 1мб