Untitled
from reportlab.lib.pagesizes import landscape from reportlab.lib.pagesizes import inch from reportlab.lib import colors from reportlab.pdfgen import canvas from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle from reportlab.platypus import Paragraph, Frame # Dictionary of questions and answers under "Animaux" category qa_dict = { "Animaux": [ { "question": "Cet oiseau, souvent associé à la paix, est également connu pour son rôle dans des cérémonies symboliques et religieuses. Quel est-il ?", "answer": "La colombe" }, { "question": "Cet animal, connu comme le plus rapide sur terre, peut atteindre des vitesses de 112 km/h lors d'une courte course. Qui est-il ?", "answer": "Le guépard" }, { "question": "Ce mammifère marin, connu pour son intelligence, communique à l'aide de clics et de sifflements. Quel est-il ?", "answer": "Le dauphin" }, { "question": "Cet insecte, souvent considéré comme un pollinisateur essentiel, produit du miel. Qui est-il ?", "answer": "L'abeille" }, { "question": "Ce grand félin rayé est l'un des prédateurs les plus puissants de la jungle asiatique. Qui est-il ?", "answer": "Le tigre" }, { "question": "Ce reptile, connu pour changer de couleur pour se camoufler, est un maître du mimétisme. Qui est-il ?", "answer": "Le caméléon" }, { "question": "Ce mammifère, le plus grand au monde, vit dans les océans et se nourrit principalement de krill. Qui est-il ?", "answer": "La baleine bleue" }, { "question": "Ce primate, très proche de l'humain, est connu pour son intelligence et sa capacité à utiliser des outils. Qui est-il ?", "answer": "Le chimpanzé" }, { "question": "Ce petit animal à piquants se roule en boule lorsqu'il se sent menacé. Qui est-il ?", "answer": "Le hérisson" }, { "question": "Ce chien, souvent utilisé comme guide pour les personnes malvoyantes, est apprécié pour son intelligence et sa gentillesse. Quelle est sa race ?", "answer": "Le labrador retriever" }, { "question": "Cet oiseau de nuit est connu pour son cri caractéristique et sa capacité à voir dans l'obscurité. Qui est-il ?", "answer": "La chouette" }, { "question": "Ce poisson, célèbre pour son apparence colorée, vit dans les récifs coralliens tropicaux. Qui est-il ?", "answer": "Le poisson-clown" }, { "question": "Ce marsupial australien est connu pour sa poche et son habitude de sauter. Qui est-il ?", "answer": "Le kangourou" }, { "question": "Ce reptile, souvent associé aux sables du désert, peut survivre à des températures extrêmes. Qui est-il ?", "answer": "Le lézard" }, { "question": "Ce gros mammifère africain est connu pour ses grandes oreilles et sa trompe. Qui est-il ?", "answer": "L'éléphant" }, { "question": "Ce petit rongeur à longues oreilles est souvent associé à Pâques. Qui est-il ?", "answer": "Le lapin" }, { "question": "Ce prédateur marin à dents acérées est l'un des animaux les plus redoutés de l'océan. Qui est-il ?", "answer": "Le requin" }, { "question": "Ce félin domestique est connu pour son indépendance et son ronronnement apaisant. Qui est-il ?", "answer": "Le chat" }, { "question": "Ce grand herbivore africain est reconnaissable à son long cou. Qui est-il ?", "answer": "La girafe" }, { "question": "Cet oiseau noir est souvent associé à des contes mystérieux et porte parfois le nom de 'corbeau'. Qui est-il ?", "answer": "Le corbeau" }, { "question": "Ce mammifère nocturne, capable de voler, est parfois surnommé 'renard volant'. Qui est-il ?", "answer": "La chauve-souris" }, { "question": "Ce prédateur arctique à fourrure blanche est un excellent nageur. Qui est-il ?", "answer": "L'ours polaire" }, { "question": "Ce serpent, connu pour ses crochets venimeux, est souvent redouté dans les régions tropicales. Qui est-il ?", "answer": "Le cobra" }, { "question": "Cet insecte, connu pour ses ailes colorées, commence sa vie sous forme de chenille. Qui est-il ?", "answer": "Le papillon" }, { "question": "Ce grand singe, connu pour sa force et sa taille, vit dans les forêts tropicales d'Afrique. Qui est-il ?", "answer": "Le gorille" }, { "question": "Cet oiseau, souvent associé aux climats froids, est connu pour sa démarche maladroite sur la glace. Qui est-il ?", "answer": "Le manchot" }, { "question": "Ce félin majestueux à crinière vit dans les savanes d'Afrique. Qui est-il ?", "answer": "Le lion" }, { "question": "Cet animal marin à carapace est connu pour son incroyable longévité. Qui est-il ?", "answer": "La tortue" }, { "question": "Ce petit mammifère aux griffes acérées est un fouisseur efficace dans les jardins. Qui est-il ?", "answer": "La taupe" }, { "question": "Cet oiseau coureur, incapable de voler, est le plus grand et le plus rapide au monde. Qui est-il ?", "answer": "L'autruche" } ] } # PDF output file pdf_filename = "index_cards_animaux.pdf" # Card size (5x3 inches, landscape orientation) card_width, card_height = landscape((5 * inch, 3 * inch)) # Create PDF c = canvas.Canvas(pdf_filename, pagesize=(card_width, card_height)) # Function to draw a single index card with a question def draw_index_card(category, question, answer): styles = getSampleStyleSheet() centered_style = ParagraphStyle(name='Centered', parent=styles['BodyText'], alignment=1) category_style = ParagraphStyle(name='Category', parent=styles['Title'], alignment=1) # Draw the category name at the top category_para = Paragraph(category, category_style) category_frame = Frame(10, card_height - 40, card_width - 20, 20, showBoundary=0) category_frame.addFromList([category_para], c) # Create a frame for wrapping text frame = Frame(10, card_height - 120, card_width - 20, 90, showBoundary=0) # Question paragraph question_para = Paragraph("Q: " + question, centered_style) # Answer paragraph answer_para = Paragraph("A: " + answer, centered_style) # Draw the question and answer inside the frame frame.addFromList([question_para, answer_para], c) # Add a line at the bottom for decoration (optional) c.setStrokeColor(colors.black) c.setLineWidth(0.5) c.line(10, 30, card_width - 10, 30) # Create a new page for each question-answer pair for category, items in qa_dict.items(): for item in items: draw_index_card(category, item["question"], item["answer"]) c.showPage() # Move to the next page (next card) # Save the PDF c.save() print(f"PDF generated: {pdf_filename}")
Leave a Comment