Андрей Андреевич Марков родился 9 (22) сентября 1903 в Санкт-Петербурге. Советский математик, сын известного русского математика А. А. Маркова, основоположник советской школы конструктивной математики.
Окончил Восьмую Петроградскую гимназию в 1919 году;
Ленинградский государственный университет в 1924 году;
аспирантуру в Астрономическом институте в Ленинграде в 1928 году.
Учёная степень доктора физико-математических наук присвоена без защиты диссертации в 1935 году. Член-корреспондент АН СССР с 1953 года, в том же году вступил в КПСС.
В 1933-1955 годах работал в Ленинградском университете (с 1936 г. — профессор): с 1936 по 1942 год и с 1943 по 1953 год — заведующий кафедрой геометрии. До июля 1942 года находился в блокадном Ленинграде.
С 1959 по 1979 год — заведующий кафедрой математической логики Московского государственного университета.
Одновременно в 1939-1972 работал в Математическом институте имени Стеклова АН СССР.
В 1950-х годах создал в Вычислительном Центре АН СССР лабораторию математической логики и структуры машин, которой руководил около двадцати лет.
В 1968 году подписал «Письмо 99».
Писал стихи (опубликованы в журнале «Звезда»)
Основные труды — по теории динамических систем, топологии, топологической алгебре, теории алгоритмов и конструктивной математике.
Доказал неразрешимость проблемы равенства в ассоциативных системах (1947), проблемы гомеоморфии в топологии (1958), создал школу конструктивной математики и логики в СССР, автор понятия нормального алгоритма.
Награды:
Орден «Знак Почёта» (1945);
Орден Ленина (1954);
Орден Трудового Красного Знамени (1963);
Медаль «За доблестный труд в Великой Отечественной войне 1941-1945 гг.» (1945);
#Основной нулевой (без применения обхода строки в цикле, то есть обход идет строго по числу типа int, функций, исключений, словарей). Применяется строковый метод isdigit, который проверяет состоит ли строка из цифр.
#Нужно заметить, что у нулевого есть недостаток, ибо при неверном наборе числа программу придется запускать снова вручную. Далее пойдут другие , применять их или нет дело ваше, но все таки пусть полежат.
# Первый (без применения обхода строки в цикле)
def main():
try:
num = int(input('Введите целое число: '))
'''
При вводе числа с клавиатуры число будет типа str по умолчанию, поэтому,
если в строке будут символы помимо цифр от 0 до 9, то при воздействии на него функции
int происходит ошибка ValueError, число типа 078 автоматически воспринимаются без
нулей вначале
'''
dict_of_digits = {n:0 for n in range(10)}
if num == 0:
dict_of_digits[0] = 1
while num != 0:
dict_of_digits[num % 10] += 1
num //=10
for digit, quanity_digits in dict_of_digits.items():
Андрей Андреевич Марков родился 9 (22) сентября 1903 в Санкт-Петербурге. Советский математик, сын известного русского математика А. А. Маркова, основоположник советской школы конструктивной математики.
Окончил Восьмую Петроградскую гимназию в 1919 году;
Ленинградский государственный университет в 1924 году;
аспирантуру в Астрономическом институте в Ленинграде в 1928 году.
Учёная степень доктора физико-математических наук присвоена без защиты диссертации в 1935 году. Член-корреспондент АН СССР с 1953 года, в том же году вступил в КПСС.
В 1933-1955 годах работал в Ленинградском университете (с 1936 г. — профессор): с 1936 по 1942 год и с 1943 по 1953 год — заведующий кафедрой геометрии. До июля 1942 года находился в блокадном Ленинграде.
С 1959 по 1979 год — заведующий кафедрой математической логики Московского государственного университета.
Одновременно в 1939-1972 работал в Математическом институте имени Стеклова АН СССР.
В 1950-х годах создал в Вычислительном Центре АН СССР лабораторию математической логики и структуры машин, которой руководил около двадцати лет.
В 1968 году подписал «Письмо 99».
Писал стихи (опубликованы в журнале «Звезда»)
Основные труды — по теории динамических систем, топологии, топологической алгебре, теории алгоритмов и конструктивной математике.
Доказал неразрешимость проблемы равенства в ассоциативных системах (1947), проблемы гомеоморфии в топологии (1958), создал школу конструктивной математики и логики в СССР, автор понятия нормального алгоритма.
Награды:
Орден «Знак Почёта» (1945);
Орден Ленина (1954);
Орден Трудового Красного Знамени (1963);
Медаль «За доблестный труд в Великой Отечественной войне 1941-1945 гг.» (1945);
Медаль «За оборону Ленинграда» (1946);
Премия имени П. Л. Чебышёва АН СССР (1969).
Объяснение:
#Основной нулевой (без применения обхода строки в цикле, то есть обход идет строго по числу типа int, функций, исключений, словарей). Применяется строковый метод isdigit, который проверяет состоит ли строка из цифр.
num = input('Введите целое число: ')
list_digits = [0] * 10
if num.isdigit():
num = int(num)
if num == 0:
list_digits[0] = 1
while num != 0:
list_digits[num % 10] += 1
num //=10
for digit in range(10):
print(f'Цифра: {digit}, количество: {list_digits[digit]}')
else:
print('Число должно быть типа int')
#Основной нулевой , но с применением обхода по строке (не факт, что так можно, но пусть будет)
str_num = input('Введите целое число: ')
list_digits = [0] * 10
if str_num.isdigit():
for str_digit in str_num:
list_digits[int(str_digit)] += 1
for digit in range(10):
print(f'Цифра: {digit}, количество: {list_digits[digit]}')
else:
print('Число должно быть типа int')
#Нужно заметить, что у нулевого есть недостаток, ибо при неверном наборе числа программу придется запускать снова вручную. Далее пойдут другие , применять их или нет дело ваше, но все таки пусть полежат.
# Первый (без применения обхода строки в цикле)
def main():
try:
num = int(input('Введите целое число: '))
'''
При вводе числа с клавиатуры число будет типа str по умолчанию, поэтому,
если в строке будут символы помимо цифр от 0 до 9, то при воздействии на него функции
int происходит ошибка ValueError, число типа 078 автоматически воспринимаются без
нулей вначале
'''
dict_of_digits = {n:0 for n in range(10)}
if num == 0:
dict_of_digits[0] = 1
while num != 0:
dict_of_digits[num % 10] += 1
num //=10
for digit, quanity_digits in dict_of_digits.items():
print(f'Цифра: {digit}, количество: {quanity_digits}')
except ValueError:
print('Число должно быть типа int, попробуйте снова!')
main()
main()
# второй с применением обхода по строке
def main():
try:
num = int(input('Введите целое число: '))
'''
При вводе числа с клавиатуры число будет типа str по умолчанию, поэтому,
если в строке будут символы помимо цифр от 0 до 9, то при воздействии на него функции
int происходит ошибка ValueError, число типа 078 автоматически воспринимаются без
нулей вначале
'''
str_num = str(num)
dict_of_digits = {n:0 for n in range(10)}
for str_digit in str_num:
dict_of_digits[int(str_digit)] += 1
for digit, quanity_digits in dict_of_digits.items():
print(f'Цифра: {digit}, количество: {quanity_digits}')
except ValueError:
print('Число должно быть типа int, попробуйте снова!')
main()
main()