Пожалуй, можно описать с помощью программного кода почти все, что нас окружает. И хорошо, что почти, это позволяет нам не погружаться полностью в матрицу. Да, еще довольно трудно запрограммировать поведение отдельно взятых политиков, ведь как можно описать то, что не поддается логике? А вот мудрость, как противовес этому — можно.

image

Древнюю мудрость, которую наш народ копил в виде пословиц. Нет смысла упоминать все несколько тысяч, тем более есть повторяющиеся среди них. А вот самые известные хочу представить вниманию читателей хабра. В качестве языка взят змеиный, поскольку единственно мне знаком.

Первая:

def wolf_sight_direction(food_amount):
	wolf_attraction_chance = 0 * food_amount
	if wolf_attraction_chance == 0 and food_amount == 0:
		print "No food. Wolf looks towards the forest"
	else:
		print food_amount, "food given. Wolf still looks towards the forest"
for food_amount in range(42):
	wolf_sight_direction(food_amount)
	food_amount += 1

Здесь можно поэкспериментировать с количеством еды, но результат будет неизменен.

Вторая чуть посложнее:

def in_at():
	forehead = True
	spelt = True
	return forehead and spelt
print in_at()

Возвращает True, подтверждая правильность утверждения.

Третья чуть попроще:

def wisdom(hair):
	return 42 - len(hair)
 
print wisdom("Very long and curly blond haired specimen")
print wisdom("Vasserman")

Предпоследняя:

class War:
	def __init__(self):
		self.definition = "KillThemAll"
class Happiness:
	pass
class Kitten:
	pass
class Beauty:
	pass
class WarChild(War):
	pass
print issubclass(Happiness, War)
print issubclass(Kitten, War)
print issubclass(Beauty, War)
print issubclass(WarChild, War)

Кошкам ведь нужен дом. И чтобы жить дружно, как с Леопольдом.

И последняя:

import time
timestamp = int(time.time())
if timestamp > 1488326399:
	pants = 2
else:
	pants = 1
print pants

Надеюсь, смогли разгадать все или даже придумать свои.

С пятницей!
Поделиться с друзьями
-->

Комментарии (33)


  1. A-Stahl
    28.12.2016 19:33
    +5

    На Си всё проще:

    #define FOREST true
    ...
    bool wolf_sight_direction = FOREST;
    ...
    

    Всё. Ничего не нужно. Пословица должна быть краткой. Изложение кода тоже.
    P.S. Более того — нормальный компилятор это даже компилировать не будет, а нахрен выбросит.


    1. mozgotrah
      29.12.2016 14:52

      Только в си нет типа bool


      1. A-Stahl
        29.12.2016 15:05

        Начиная с С99 есть (_Bool, а помощью вполне стандартного stdbool.h есть и просто bool).
        Да и раньше это никого не останавливало:)


  1. m0Ray
    28.12.2016 22:54

    На последнее, кроме «пришла весна — сымай штаны», ничего не приходит. Только что-то не припомню такой пословицы.


    1. aavezel
      29.12.2016 00:15

      пришел марток неснимай порток… вот только неправильный код, тогда


    1. Assargin
      29.12.2016 00:43

      «Пришёл марток — надевай двое порток». В разных версиях этой пословицы упоминается разное число порток: есть и 7, и даже 100.


      1. m0Ray
        29.12.2016 06:07

        О! У меня в голове именно «100» было, вот и не распознал. Плюс логическая ошибка (моя), конечно…
        А двое-то и в феврале, и в январе носится.


  1. Enmergal
    29.12.2016 09:16
    +2

    for food_amount in range(42):
    	wolf_sight_direction(food_amount)
    	food_amount += 1
    

    Объясните, пожалуйста, смысл последней строчки.


    1. suharik
      29.12.2016 09:17
      -1

      Кормим волка.


      1. suharik
        29.12.2016 14:05

        Ну да. Тут не смысл последней строчки надо было объяснить, а необходимость ее в принципе. Нет таковой.


  1. borislav
    29.12.2016 09:16

    var Business = DateTime.Now;
    var Fun = new TimeSpan(1, 0, 0);


    1. A-Stahl
      29.12.2016 09:24
      +1

      Работе — квант, веселью — час?:)


      1. borislav
        29.12.2016 16:36

        Квант будет TimeSpan.MinValue.


  1. suharik
    29.12.2016 09:46

    babysitters = 1
    while babysitters < 7:
        babysitters += 1
        baby_has_eye = True
        print "Hello, world!"
    baby_has_eye = False
    print "Hello, Horacio!"
    


    1. A-Stahl
      29.12.2016 10:00

      Цикл? Но зачем тут цикл:

      baby_has_eye = true;
      if (babysitters_quantity >= 7 )
      {
          baby_has_eye = false;
      }
      

      Я уж не говорю о том, что поговорка не регламентирует точное опасное для здоровья количество нянек.
      Поговорка скорее указывает на увеличение вероятности травмы при увеличении количества этих нянек.


      1. suharik
        29.12.2016 10:16

        С вероятностью сложнее, надо собирать статистические данные, графики строить. А семерка сразу видна. Невооруженным глазом.


      1. alix_ginger
        29.12.2016 13:54

        Поговорка скорее о том, что важно не количество нянек, а их квалификация

        # Десятибалльная шкала
        babysitters_qualifications = [1, 3, 2, 3, 1, 1, 3];
        def baby_has_eye(qualifications):
            return max(qualifications) > 5
        

        Если хотя бы одна из нянек имеет квалификацию «выше среднего», ребенок сохраняет глаз. Формула, впрочем может быть гораздо сложнее.


        1. suharik
          29.12.2016 13:57

          Да, это ближе к истине. Но давайте оставим сложные формулы для работы, не отдыха для.


        1. Cryvage
          29.12.2016 14:29
          +2

          ребенок сохраняет глаз

          Я всегда думал что «без глазу» означает «не присмотрен», а не то что он непременно глаза лишиться должен.


          1. alix_ginger
            05.01.2017 10:22

            Интересно, никогда о таком не думал, всегда понимал поговорку буквально


    1. m1n7
      29.12.2016 10:16
      -1

      baby_has_eye = (babysitters != 7)? TRUE: FALSE;


  1. uLow
    29.12.2016 12:35

    labor = 0
    labor_enough = random.randint(1, 100500)
    fish_caught = False
    
    while labor < labor_enough:
        labor += 1
        print "Work harder!"
    fish_caught = True
    print "Gotcha!"
    
    


    1. suharik
      29.12.2016 14:03

      Там же сказано «без труда», а не «без достаточного количества человеко•часов». У вас совсем зверский вариант получается, ловец может закончиться до того, как добудет ужин.


      1. uLow
        29.12.2016 14:21

        Автор, у вас похоже предновогодняя пятница уже в самом разгаре…

        труд = 0
        достаточно_труда = рандом(1, 100500)
        рыба_поймана = нет
        
        пока приложено труда меньше необходимого:
            прикладываем больше усилий
        рыба_поймана = да
        успех!
        


        P.S. цитирую вас-же: «оставим сложные формулы для работы, не отдыха для»
        P.P.S. заметка для профессионала — «попытка» != «труд»


        1. suharik
          29.12.2016 14:43

          В вашем алгоритме социальное неравенство кроется. У одного человека необходимый для ловли труд может составить 42 попытки, у другого — 100499. Так?


          1. uLow
            02.01.2017 12:44

            На рыбалке бывали? Кто-то одну за другой тащит, кто-то мелочь, да и то раз в час…


          1. uLow
            02.01.2017 13:00

            Специально для вас, читерский вариант:

            labor = False
            fish_caught = False
            
            if labor == False:
                labor = True
                print "Work harder!"
            else:
                fish_caught = True
                print "Gotcha!"
            


  1. codenamecpp
    29.12.2016 13:54

    2B OR NOT 2B = FF


    1. suharik
      29.12.2016 13:55

      То не совсем пословица, скорее крылатая фраза. И у вас не заданы переменные, как комп поймет сие?


  1. den_golub
    29.12.2016 19:27

    Мое уважение автору, действительно интересная публикация, а самое главное не стандартная.


  1. tandzan
    04.01.2017 21:51

    Cat vasya;
    while (true)
    {
      vasya.listen();
      vasya.eat();
    }
    


    class Wolf : Sheep {}
    


    1. suharik
      04.01.2017 23:25

      vasya.listen() and vasya.eat()
      

      может так?


  1. aosink
    04.01.2017 21:52

    Отличная творческая задачка для детей и не только! Автор молодец!