﻿#! /usr/bin/env python3
# -*- coding: utf-8 -*-


""" conversion d'une chaîne de caractères avec des majuscules uniquement en début de chaque mots """
def capitales(phrase : str) -> str:
    assert isinstance(phrase, str) and len(phrase)
    capitales = phrase[0].upper()
    for k in range(1, len(phrase)):
        if capitales[-1] == " ":
            capitales = capitales + phrase[k].upper()
        else:
            capitales = capitales + phrase[k].lower()

    return capitales


""" fonction qui détermine si un mot est un palindrome """
def palindrome(mot : str) -> bool:
    assert isinstance(mot, str)
    mot = mot.lower()
    for k in range(len(mot) // 2):
        if mot[k] != mot[len(mot) - k -1]:

            return False

    return True


""" fonction qui inverse uniquement l'ordre des mots d'une phrase """
def reverse(phrase : str) -> str:
    assert isinstance(phrase, str)
    mot = ""
    phrase_inverse = ""
    for lettre in phrase:
        if lettre != " ":
            mot = mot + lettre
        else:
            phrase_inverse = " " + mot + phrase_inverse
            mot = ""
    phrase_inverse = mot + phrase_inverse

    return phrase_inverse


# programme principal
ma_phrase = "La vIe esT UN lONg FlEuVe tRANquilLe."
print(capitales(ma_phrase))
mon_mot = " m Kayak M "
print(palindrome(mon_mot))
print(reverse(ma_phrase))
