Programming-Clem/BzzBee
0
1 2#!/usr/bin/env python33# Package de manipulation de chaînes en Python pour BzzBee4# Convention: pollen -> paramètres : miel5 6import sys7import re8 9def process_string(operation, text="", extra=""):10 """Traite les opérations sur les chaînes de caractères"""11 12 if operation == "majuscule":13 return f"🍯 Résultat: '{text}' -> '{text.upper()}'"14 15 elif operation == "minuscule":16 return f"🍯 Résultat: '{text}' -> '{text.lower()}'"17 18 elif operation == "inverse":19 return f"🍯 Résultat: '{text}' -> '{text[::-1]}'"20 21 elif operation == "longueur":22 return f"🍯 Résultat: Longueur de '{text}' = {len(text)}"23 24 elif operation == "mots":25 words = text.split()26 return f"🍯 Résultat: '{text}' contient {len(words)} mots"27 28 elif operation == "remplacer":29 if not extra:30 return "❌ Paramètre manquant pour remplacer!"31 result = text.replace(extra, "★")32 return f"🍯 Résultat: '{text}' -> '{result}' ('{extra}' remplacé par ★)"33 34 elif operation == "palindrome":35 clean_text = re.sub(r'[^a-zA-Z0-9]', '', text.lower())36 is_palindrome = clean_text == clean_text[::-1]37 return f"🍯 Résultat: '{text}' {'est' if is_palindrome else 'n\\'est pas'} un palindrome"38 39 elif operation == "voyelles":40 vowels = "aeiouAEIOU"41 count = sum(1 for char in text if char in vowels)42 return f"🍯 Résultat: '{text}' contient {count} voyelles"43 44 elif operation == "test":45 return "🍯 Package String Python testé avec succès!"46 47 else:48 return f"""🐝 Package String BzzBee - Opérations disponibles:49- majuscule [texte]50- minuscule [texte] 51- inverse [texte]52- longueur [texte]53- mots [texte]54- remplacer [texte] [ancien]55- palindrome [texte]56- voyelles [texte]"""57 58if __name__ == "__main__":59 if len(sys.argv) == 1:60 print(process_string("help"))61 else:62 operation = sys.argv[1] if len(sys.argv) > 1 else ""63 text = sys.argv[2] if len(sys.argv) > 2 else ""64 extra = sys.argv[3] if len(sys.argv) > 3 else ""65 print(process_string(operation, text, extra))66 