/
decision_stump
/
omd
Обзор
Документация
Войти
/
decision_stump
/
omd
Код
Запросы
1
Задачи
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
omd.py
72 строки
3 KB
yyaliaksandr
add dots
19 сен 2024, 23:01
19 сен 2024, 23:01
26d9b5b
Код
Авторство
О чём код?
# Guido van Rossum <guido@python.org> import random def step2_umbrella(): print('Утка-маляр 🦆 взяла зонтик и пришла в бар.') print('Утка-маляр 🦆 встретила своего друга сову 🦉.') print('Друг сова 🦉 говорит утке-маляру 🦆 : Расскажи мне что-нибудь, а я буду тебе расссказывать сколько слов ты сказал за все время!') print('Если захочешь пойти домой скажи стоп') line = input() words_dict = {} while line.lower() != 'стоп': for word in line.split(): words_dict.update({word: words_dict.get(word, 0) + 1}) for key, value in words_dict.items(): print(f'Слово {key} встречается {value} раз.') print('Расскажи мне еще что нибудь!') line = input() def get_digit_line(min_number): line = input() while True: if line.isdigit() and int(line) >= min_number: break print(line + f' не натуральное число >= {min_number}, повтори попытку.') line = input() return int(line) def step2_no_umbrella(): print('Утка-маляр 🦆 не взяла зонтик и пришла в бар.') print('Утка-маляр 🦆 подошла к бармену и заказала выпить сок.') print('Бармен говорит утке-маляру: угадаешь число на отрезке [1, n], n >= 10 за n // 2 попытки - можешь не платить.') print('Введи натуральное число n >= 10:') n = get_digit_line(10) random_number = random.randint(1, n) print(f'Попробуй угадать натуральное число на отрезке [1, {n}] за {n // 2} попыток!') i = 0 while i < n // 2: input_number = get_digit_line(1) if input_number != random_number: if i < n // 2: print('Не угадал, попробуй еще раз!') else: print('Угадал, можешь не платить!') break i += 1 if i == n // 2: print(f'Ты проиграл! Правильный ответ был {random_number}! Придется заплатить!') def step1(): print( 'Утка-маляр 🦆 решила выпить зайти в бар. ' 'Взять ей зонтик? ☂️' ) option = '' options = {'да': True, 'нет': False} while option not in options: print('Выберите: {}/{}'.format(*options)) option = input() if options[option]: return step2_umbrella() return step2_no_umbrella() if __name__ == '__main__': step1()