| |
|
| | |
| | |
| | |
| |
|
| | import sys |
| | import re |
| |
|
| | def process_string(operation, text="", extra=""): |
| | """Traite les opérations sur les chaînes de caractères""" |
| | |
| | if operation == "majuscule": |
| | return f"🍯 Résultat: '{text}' -> '{text.upper()}'" |
| | |
| | elif operation == "minuscule": |
| | return f"🍯 Résultat: '{text}' -> '{text.lower()}'" |
| | |
| | elif operation == "inverse": |
| | return f"🍯 Résultat: '{text}' -> '{text[::-1]}'" |
| | |
| | elif operation == "longueur": |
| | return f"🍯 Résultat: Longueur de '{text}' = {len(text)}" |
| | |
| | elif operation == "mots": |
| | words = text.split() |
| | return f"🍯 Résultat: '{text}' contient {len(words)} mots" |
| | |
| | elif operation == "remplacer": |
| | if not extra: |
| | return "❌ Paramètre manquant pour remplacer!" |
| | result = text.replace(extra, "★") |
| | return f"🍯 Résultat: '{text}' -> '{result}' ('{extra}' remplacé par ★)" |
| | |
| | elif operation == "palindrome": |
| | clean_text = re.sub(r'[^a-zA-Z0-9]', '', text.lower()) |
| | is_palindrome = clean_text == clean_text[::-1] |
| | return f"🍯 Résultat: '{text}' {'est' if is_palindrome else 'n\\'est pas'} un palindrome" |
| | |
| | elif operation == "voyelles": |
| | vowels = "aeiouAEIOU" |
| | count = sum(1 for char in text if char in vowels) |
| | return f"🍯 Résultat: '{text}' contient {count} voyelles" |
| | |
| | elif operation == "test": |
| | return "🍯 Package String Python testé avec succès!" |
| | |
| | else: |
| | return f"""🐝 Package String BzzBee - Opérations disponibles: |
| | - majuscule [texte] |
| | - minuscule [texte] |
| | - inverse [texte] |
| | - longueur [texte] |
| | - mots [texte] |
| | - remplacer [texte] [ancien] |
| | - palindrome [texte] |
| | - voyelles [texte]""" |
| |
|
| | if __name__ == "__main__": |
| | if len(sys.argv) == 1: |
| | print(process_string("help")) |
| | else: |
| | operation = sys.argv[1] if len(sys.argv) > 1 else "" |
| | text = sys.argv[2] if len(sys.argv) > 2 else "" |
| | extra = sys.argv[3] if len(sys.argv) > 3 else "" |
| | print(process_string(operation, text, extra)) |
| |
|