Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog

COURS PYTHON
Le nombre de visite :
COURS PYTHON

Essayer de programmer cette étoile ci-dessous :

##################################

# import for turtle

##################################
import turtle
################################## 
# Starting a Working Screen
ws = turtle.Screen()
 
# initializing a turtle instance
geekyTurtle = turtle.Turtle()
 
# executing loop 5 times for a star
for i in range(10):
 
        # moving turtle 100 units forward
        geekyTurtle.forward(100)
 
        # rotating turtle 144 degree right
        geekyTurtle.right(108)

##################################

Flocon de Koch

from turtle import *  

###################################
# Dessin de fractales 

###################################
def Dessin(Chaine, n, x, X0, Y0):                                                        
    for i in range(0,len(Chaine)):                                                          
        if Chaine[i]=='A':                                                                       
            forward(n)                                                                             
        elif Chaine[i]=='+':                                                                   
            right(x)                                                                                 
        elif Chaine[i]=='-':                                                                   
            left(x)         

                                                                        
def Substitution(Chaine, regle):                                                     
    #Cette fonction va remplacer 'A' dans la chaine par la regle.       
    C2=str()                                                            
    #C2 sera la nouvelle chaine, notre sortie                           
    for i in range(0,len(Chaine)):                                      
        if Chaine[i]=='A':                                              
            C2=C2+regle                                                 
        elif Chaine[i]=="-":                                            
            C2=C2 + "-"                                                 
        elif Chaine[i]=="+":                                            
            C2=C2 + "+"                                                 
    return(C2)       

                                                  
def Fractale(Chaine, regle, n):                                         
    #Cette fonction sert a tracer des fractales a partir d'une chaine   
    C=Chaine                                                            
    for k in range(0,n):                                                
        C=Substitution(C,regle)                                         
    Dessin(C,2,60,-200,0)                                             

#################################

Fractale('A',"A-A++A-A", 5)

#################################

Essayer de programmer cette étoile ci-dessous :

##################################

# import for turtle
import turtle
 
# Starting a Working Screen
ws = turtle.Screen()
 
# initializing a turtle instance
geekyTurtle = turtle.Turtle()
 
# executing loop 5 times for a star
for i in range(10):
 
        # moving turtle 100 units forward
        geekyTurtle.forward(100)
 
        # rotating turtle 144 degree right
        geekyTurtle.right(108)

##################################

COURS PYTHON

UN TRAITEMENT DE TEXTE PYTHON :

##################################

from tkinter import Tk, Text, Scrollbar, Menu, messagebox, filedialog, Frame

import os

##################################
class Editor:
    def __init__(self, root):
        self.root = root
        self.TITLE = "Subedi Editor"
        self.file_path = None
        self.set_title()

        frame = Frame(root)
        self.yscrollbar = Scrollbar(frame, orient="vertical")
        self.editor = Text(frame, yscrollcommand=self.yscrollbar.set)
        self.editor.pack(side="left", fill="both", expand=1)
        self.editor.config(wrap="word",  # use word wrapping
                           undo=True,  # Tk 8.4
                           width=80)
        self.editor.focus()
        self.yscrollbar.pack(side="right", fill="y")
        self.yscrollbar.config(command=self.editor.yview)
        frame.pack(fill="both", expand=1)

        # instead of closing the window, execute a function
        root.protocol("WM_DELETE_WINDOW", self.file_quit)

        # create a top level menu
        self.menubar = Menu(root)
        # Menu item File
        filemenu = Menu(self.menubar, tearoff=0)  # tearoff = 0 => can't be seperated from window
        filemenu.add_command(label="New", underline=1, command=self.file_new, accelerator="Ctrl+N")
        filemenu.add_command(label="Open...", underline=1, command=self.file_open, accelerator="Ctrl+O")
        filemenu.add_command(label="Save", underline=1, command=self.file_save, accelerator="Ctrl+S")
        filemenu.add_command(label="Save As...", underline=5, command=self.file_save_as, accelerator="Ctrl+Alt+S")
        filemenu.add_separator()
        filemenu.add_command(label="Exit", underline=2, command=self.file_quit, accelerator="Alt+F4")
        self.menubar.add_cascade(label="File", underline=0, menu=filemenu)
        # display the menu
        root.config(menu=self.menubar)

    def save_if_modified(self, event=None):
        if self.editor.edit_modified():  # modified
            response = messagebox.askyesnocancel("Save?",
                                                 "This document has been modified. Do you want to save changes?")  # yes = True, no = False, cancel = None
            if response:  # yes/save
                result = self.file_save()
                if result == "saved":  # saved
                    return True
                else:  # save cancelled
                    return None
            else:
                return response  # None = cancel/abort, False = no/discard
        else:  # not modified
            return True

    def file_new(self, event=None):
        result = self.save_if_modified()
        if result != None:  # None => Aborted or Save cancelled, False => Discarded, True = Saved or Not modified
            self.editor.delete(1.0, "end")
            self.editor.edit_modified(False)
            self.editor.edit_reset()
            self.file_path = None
            self.set_title()

    def file_open(self, event=None, filepath=None):
        result = self.save_if_modified()
        if result != None:  # None => Aborted or Save cancelled, False => Discarded, True = Saved or Not modified
            if filepath == None:
                filepath = filedialog.askopenfilename()
            if filepath != None and filepath != '':
                with open(filepath, encoding="utf-8") as f:
                    fileContents = f.read()  # Get all the text from file.
                # Set current text to file contents
                self.editor.delete(1.0, "end")
                self.editor.insert(1.0, fileContents)
                self.editor.edit_modified(False)
                self.file_path = filepath

    def file_save(self, event=None):
        if self.file_path == None:
            result = self.file_save_as()
        else:
            result = self.file_save_as(filepath=self.file_path)
        return result

    def file_save_as(self, event=None, filepath=None):
        if filepath == None:
            filepath = filedialog.asksaveasfilename(filetypes=(
            ('Text files', '*.txt'), ('Python files', '*.py *.pyw'), ('All files', '*.*')))  # defaultextension='.txt'
        try:
            with open(filepath, 'wb') as f:
                text = self.editor.get(1.0, "end-1c")
                f.write(bytes(text, 'UTF-8'))
                self.editor.edit_modified(False)
                self.file_path = filepath
                self.set_title()
                return "saved"
        except FileNotFoundError:
            print('FileNotFoundError')
            return "cancelled"

    def file_quit(self, event=None):
        result = self.save_if_modified()
        if result != None:  # None => Aborted or Save cancelled, False => Discarded, True = Saved or Not modified
            self.root.destroy()  # sys.exit(0)

    def set_title(self, event=None):
        if self.file_path != None:
            title = os.path.basename(self.file_path)
        else:
            title = "Untitled"
        self.root.title(title + " - " + self.TITLE)

    def undo(self, event=None):
        self.editor.edit_undo()

    def redo(self, event=None):
        self.editor.edit_redo()

##################################

    def bind_keys(self, event=None):
        self.editor.bind("<Control-o>", self.file_open)
        self.editor.bind("<Control-O>", self.file_open)
        self.editor.bind("<Control-S>", self.file_save)
        self.editor.bind("<Control-s>", self.file_save)
        self.editor.bind("<Control-N>", self.file_new)
        self.editor.bind("<Control-n>", self.file_new)
        self.editor.bind("<Control-y>", self.redo)
        self.editor.bind("<Control-Y>", self.redo)
        self.editor.bind("<Control-Z>", self.undo)
        self.editor.bind("<Control-z>", self.undo)

##################################
if __name__ == "__main__":
    main = Tk()
    # root.wm_state('zoomed')
    editor = Editor(main)
    editor.bind_keys()
    main.mainloop()

Partager cet article
Repost0
Pour être informé des derniers articles, inscrivez vous :