Быстрый в изучении - мощный в программировании
>> Telegram ЧАТ для Python Программистов

Свободное общение и помощь советом и решением проблем с кодом! Заходите в наш TELEGRAM ЧАТ!

>> Python Форум Помощи!

Мы создали форум где отвечаем на все вопросы связанные с языком программирования Python. Ждем вас там!

>> Python Канал в Telegram

Обучающие статьи, видео и новости из мира Python. Подпишитесь на наш TELEGRAM КАНАЛ!

Алгоритм расшифровки названии автомобилей в игре "Что за тачка?" на Python

Алгоритм расшифровки названии автомобилей

Вчера знакомый в ВК дал мне запрос чтобы заправить его автомобиль, чтобы тот мог продолжить играть. Я не любитель онлайн игр из за быстрого привыкания к ним и стараюсь чтобы не зависать долго в них. Хотя, в какую игру бы не играл всегда ищу какой-то способ чтобы упростить для себя процесс и догнать всех по достижениям в ней. Автолюбителям понравится данная игра, но загвоздка в том, что популярные марки там редкость. Даже если и будет BMW или Mercedes-Benz то он напомнит вам фильмы из 60-х годов.

Игра становится все более популярной, уже созданы группы с фотографиями с просьбой о помощи угадать название машины. Если замедлить с ответом то очки выигрыша будут меньше и тогда не будет денег, чтобы купить топливо на следующий круг. Изначально некоторые машины я угадывал при помощи Google Images, там есть возможность дать ссылку на автомобиль и получить результаты поиска. Но, даже гугл иногда не знал, что это за тачка.

Алгоритм работы программы

- Искал в интернете список всех автомобильных марок и сохранил их в текстовой файл.

- Задавал число букв из которых состоит название автомобиля.

- Вписывал случайные буквы которые дает нам игра для подбора.

- Алгоритм сортирует названия марок и выводит результат.

Ссылка на расшифровку названии онлайн ТУТ!

Код скрипта на Python

# -*- coding: utf-8 -*-
# Список автомобильных марок
CarList = open('car.txt', 'r').readlines()
def match(name, matches):
    name = name.lower()
    good = 0
    for alpha in name:
        if alpha in matches:
            good += 1
    return good
 
for car in CarList:
    car = car.strip()
 
    chars = 5
    symbols = 'ivyidfznbesaljtl'
 
    if len(car) == chars:
        if match(car, symbols) >= chars:
            print car

Результата работы скрипта

Lifan
Tesla
Belaz

Чем короче название марки тем больше результатов может быть. Когда название состоит из 10-12 символов то результат один. Переменная chars содержит число с количеством символах в названии автомобиля. Переменная symbols содержит список букв ниже картинки с автомобилем в игре.

Особенности некоторых марок

Если в названии автомобиля есть символы как тире "-" (Mercedes-Benz) и пробел " " (Land Rover), то число в переменную chars повышаем на единицу а в переменную symbols добавляем символ тире и пробела.

Некоторые примеры

chars: 4 symbols: anwzvbpotclkaqjt = Tata
chars: 8 symbols: ylfsuiaiyadmursl = Marussia
chars: 5 symbols: ivyidfznbesaljtl = Lifan, Tesla, Belaz
chars: 11(12 вместе с пробелом) symbols: hsniaarbmtortang =  Aston Martin

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

Комментариев: 4
  1. Ушел смотреть этот фильм :D

  2. Реально работает, была одна тачка не мог пройти. Вписал все данные получил этот гребанный Volkswagen )

  3. Дошел до 155 уровня и больше нет машин. Так и должно быть или я что то не так делаю?

    Ребята помогите, хочу играть дальше но нет машин.

  4. Hi buddy, your blog' s design is simple and clean and i like it. Your blog posts about Online writing Help are superb. Please keep them coming. Greets! @Hoc: Leveraging Israeli Technology in the United States Case Solution