Маленький Python🐍 никогда не повредит!

Большинство программистов обычно предпочитают такие языки, как C, C ++ и Java, для решения задач конкурентного программирования. По большей части это связано с тем, что C и C ++ по своей сути быстрее Python и Java, но также и потому, что многие программисты естественно чувствуют себя комфортно с C / C ++, поскольку они писали свои первые программы, использующие их.

Но я здесь, чтобы сказать вам, что иногда знание даже самого базового Python может иметь большое значение, когда дело доходит до решения небольших задач программирования так быстро, как вы можете!

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

Допустим, перед нами простая задача:

Учитывая строку, состоящую из слов, разделенных одним пробелом, вы должны вывести строку со словами в обратном порядке. См. Пример, приведенный ниже.

Ввод: «Ланнистер всегда платит свои долги»

Вывод: «свои долги всегда платит Ланнистер А»

Код на C ++ приведен ниже!

//C++ code (taken from www.geeksforgeeks.org/reverse-words-in-a-given-string/)
void reverseWords(char* s)
{
    char* word_begin = s;
    char* temp = s; 
    while (*temp) {
        temp++;
        if (*temp == '\0') {
            reverse(word_begin, temp - 1);
        }
        else if (*temp == ' ') {
            reverse(word_begin, temp - 1);
            word_begin = temp + 1;
        }
    } 
    reverse(s, temp - 1);
}

Давайте посмотрим, как Python справляется с той же задачей: -

def reverseWords(s):
    return " ".join(s.split(" ")[::-1])

s.split (««) создает объект списка слов в строке s .

[:: - 1] - это особый случай нарезки, который возвращает перевернутый список.

«« .join () создает строку содержимого списка, переданного в качестве аргумента, разделенного пробелом.

Код Python говорит сам за себя 👏🏻👏🏻

Надеюсь, вы нашли эту статью полезной! До следующего раза ✌️🏼