Только делаю первые шаги в изучении Питона. Читаю “Программируем на Python” Майкла Доусона. Глава третья, одна из задач после прочтения этой главы:
Напишите на псевдокоде алгоритм игры, в которой случайное число от 1 до 100 загадывает человек, а отгадывает компьютер. Прежде чем приступать к решению, задумайтесь над тем, какой должна быть оптимальная стратегия отгадывания. Если алгоритм на псевдокоде будет удачным, попробуйте реализовать игру на Pythoп.
Вот что я написал:
#!/usr/bin/env python # -*- coding: utf-8 -*- # # komp_ugadivaet__chislo.py # # Пользователь загадывает число от 1 до 100 # и в зависимости от ответа < > предлагает другие числа import random print(' Загадайте число от 1 до 100') print('Если загаданное число меньше - ставить "m", если число больше - ставить "b" \n Если число угадано - написать "yes"') # Начальные границы x = 1 y = 100 z = random.randint(x,y) number_z=str('yes') print('Это число',z,'?') number_z = input(str('Ваш ответ: ')) while number_z != str('yes'): # Если загаданное число меньше if number_z == str('m'): # Убираем границу рандома до высветившего числа и минусуем, что бы это число случайно не выводилось в ответ y = z-1 # Новые границы рандома z = random.randint(x,y) print('Это', z, '?') elif number_z == str('b'): # Аналог с точностью наоборот x = z+1 z = random.randint(x,y) print('Это', z, '?') number_z = input(str('Ваш ответ: ')) # Подтверждение правильного ответа if number_z == str('yes'): print('Ура!')
Задача решена, я молодец!
Но меня терзают смутные сомнения, что можно было бы реализовать задачу более элегантным решение. Просто я считаю если уж начинать что-то делать, то даже с азов надо стараться делать это максимально грамотно и качественно.
Понимаю что сие “творение” )) ниже некуда, но все же….