написать код продолжить. Это как мини-магазин.Что бы можно было в нем что-то делать. компьютерный ассистент (анализирует дату человека по различным критериям)
Вот начало
from datetime import *
print('\t'*2,'Компьютерная система')
print('\t'*1,'(анализирует дату рождения человек по разным критериям)')
1. Количество информации вычисляется по формуле: 2i = N, где i - искомая величина, N - количество событий. Следовательно, 23 =8. ответ: 3 бита 2 Решение:
i-?,
Число возможных информационных сообщений о положении крестика равно количеству клеток, т. е. 8*8=64, поэтому
N=2i, 64=2i, 26=2i, i=6.
ответ: 6 бит. 3. 2i=128. Следовательно, i=7. ответ: 7 бит. 4. 5 бит 5. а) Всего шариков 25 + 25 +25 +25 = 100 Вероятности сообщений о цвете следующие: Рб = Рк = Рс = Рз = 25/100 =1/4 События не равновероятны, поэтому воспользуемся формулой Шеннона: N H = - ?Pi log 2Pi = - (4 • 1/4• log2 1/4) = - (4 • 1/4• (-2)) = 2 бита i=1 ответ: 2 бита б) Всего шариков 30 + 30 +30 +10 = 100 Вероятности сообщений о цвете следующие: Рб = Рк = Рс = 30/100 =0,3; Рз = 10/100 =0,1 События не равновероятны, поэтому воспользуемся формулой Шеннона: N H=- ? Pi log 2Pi = - (3 • 0,3• log2 0,3+ 0,1• log2 0,1) бит i=1 7 ) 1/512 Мб * 1024 = 2 Кб * 1024 = 2048 байт 2) К = 2048 символов, следовательно, i = 1 байт = 8 бит 3) 2i = N; 28 = 256 символов ответ: 256 символов вот так
Если требуется задавать однозначные вопросы (да/нет) и вы сделали опечатку и имеется в виду "минимальное":
В году 365-366 дней. = 512. 9 вопросов вполне достаточно, чтобы узнать точный день рождения человека, если в году от 257 до 512 дней.
Поясняю: Каждый вопрос, максимум, может уменьшать твою неопределенность в 2 раза. То есть, первый вопрос: в какой половине года у тебя день рождения? (убирает 6 лишних месяцев) след. Вопрос: в какой половине этой половины (четверти)?: определяет точный месяц. И так далее.
Если имелось в виду минимальное кол-во любых вопросов: 1. Когда у тебя день рождения?
ответ: Код можете скопировать в обьяснении. Вроде как сделал, но с недороботками. Вот, что нужно поправить:
- Проверить дату рождения на существование (например, если человек ввел будущую дату или там 31 апреля)
- 3ий пункт : может выдавать отрицательные числа, это тоже нужно доработать.
Объяснение:
from datetime import *
# Описание программы
print('\t' * 2, 'Компьютерная система')
print('\t' * 1, '(анализирует дату рождения человек по разным критериям)')
print('=' * 46)
# Меню
print('Меню')
print('[1]- год рождения(высокосный/обычный)',
'\n[2]-возрастная група', '\n[3]-точный возраст')
print('=' * 46)
print("\nУкажите свою дату рождения")
d = int(input("День: ")) # День
m = int(input("Месяц: ")) # Месяц
y = int(input("Год: ")) # Год
print("\nСегодняшняя дата:", datetime.today().strftime("%d.%m.%Y"))
c = int(input("Выберите то, что Вы хотите: "))
if c == 1: # Определение типа года
if y % 4 != 0 or (y % 100 == 0 and y % 400 != 0):
print("Это обычный год (365 дней)")
else:
print("Это високосный год (366 дней)")
elif c == 2: # Определение возрастной группы
age = datetime.now().year - y
if age >= 0 and age <= 6:
print("Ваша группа: Дошкольник")
elif age >= 7 and age <= 17:
print("Ваша группа: Школьник")
elif age >= 18 and age <= 18:
print("Ваша группа: Молодежь")
elif age >= 31 and age <= 55:
print("Ваша группа: Взрослый")
elif age >= 56:
print("Ваша группа: Пожилой/Старый")
elif c == 3:
print("Ваш возраст:", datetime.now().year - y, "лет,",
datetime.now().month - m, "месяц,", datetime.now().day - d, "день")