Votre carnet d'adresses est pas seulement pour les noms et adresses. Ajout de notes dans vos contacts peut vous aider à mémoriser les détails. Par exemple, quand il sera l'anniversaire de votre meilleur ami, et qui vous doit de 5 $? La meilleure partie est que vous pouvez crypter,
ou bousculade, les notes. Vous ne voulez pas seulement quelqu'un de les lire!
Copiez le code:
"" "CryptopyTake Un message en clair et chiffrer usinga César cipherTake un message chiffré et décrypter usingthe même cipherEncrypt / décrypter depuis et vers un fileBrendan Scott 2015" "" #### chaîne importations Sectionimport #### Constantes SectionCHAR_SET = chaîne .printable [: - 5] = SUBSTITUTION_CHARS CHAR_SET [-3:] + CHAR_SET [: - 3] # générer cryptage dictionnaire du caractère SETet # son substitutionsENCRYPTION_DICT = {} DECRYPTION_DICT = {} pour i, k dans enumerate (CHAR_SET): v = SUBSTITUTION_CHARS [i] ENCRYPTION_DICT [k] = vDECRYPTION_DICT [v] = k # autres personnages - t n etc - ne sont pas changedfor c dans string.printable [-5]: #! regardent les colons ENCRYPTION_DICT [c ] = cDECRYPTION_DICT [c] = cTEST_MESSAGE = "Je veux Monty Python.They sont très drôle." INPUT_FILE_NAME = "cryptopy_input.txt" Output_File_Name = "cryptopy_output.txt" #### Fonction Sectiondef encrypt_msg (en clair, encrypt_dict): "" "Prenez un message clair et crypter eachcharacter utilisant le cryptage dictionnaire provided.key traduit à son value.Return associé le texte chiffré" "" cryptogramme = [] pour k en clair: v = encrypt_dict [k] ciphertext.append (v) # vous pourriez simplement dire # ciphertext.append (encrypt_dict [k]) # je le diviser afin que vous pourriez suivre better.return '' .join (chiffré) def decrypt_msg (texte chiffré, decrypt_dict): "" "Prendre un message chiffré et décrypter eachcharacter utilisant le déchiffrement dictionnaire provided.key traduit à son value.Return associé le texte en clair "" "clair = [] pour k dans chiffré: v = decrypt_dict [k] plaintext.append (v) le retour '' .join (en clair) #### Principal Sectionif __name__ == "__main __": ## message = raw_input ("Tapez le message que vous aimeriez toprocess ci-dessous: n") ## cryptogramme = encrypt_msg (message, ENCRYPTION_DICT) ## clair = decrypt_msg ( message, DECRYPTION_DICT) ## print ("Ce message crypte à") ## impression (chiffré) ## # impression juste une ligne vierge pour la lisibilité ## print ("Ce message déchiffre à") ## impression (clair) ENCRYPT = Faux # Ceci est la constante utilisée pour theif clausewith ouverte (INPUT_FILE_NAME, «r») comme fichier_entrée: message = input_file.read () si ENCRYPT: text_to_output = encrypt_msg (message, ENCRYPTION_DICT) else: text_to_output = decrypt_msg (message, DECRYPTION_DICT) Imprimer (text_to_output) # juste pour testingwith ouverte (Output_File_Name, 'w') comme output_file: output_file.write (text_to_output)
Créer une constante appelée PASSPHRASE et de définir votre mot de passe secret là.
Ajouter un attribut AddressEntry appelé secret_note. Initialiser comme une chaîne vide.
Ajouter une méthode pour AddressEntry appelé add_secret_note.
Ajouter une méthode pour AddressEntry appelé decrypt_secret_note.
Dans le Principal section, créer un personne fictive entrée et certains échantillon de texte à chiffrer.
Usage personne fictive et le texte de l'échantillon à tester le add_secret_note et decrypt_secret_note méthodes.
Voici la nouvelle importation:
cryptopy d'importation
La nouvelle constante dans le Constantes section:
PASSPHRASE = "Wow! Ceci est un grand livre." # ... Ou thinkof votre propre
Le nouvel attribut dans le AddressEntry constructeur:
self.secret_note = ""
Les nouvelles méthodes de AddressEntry:
def add_secret_note (auto, note_text): "" "note_text crypter et écraser theexisting attribut secret_note avec le texte thisencrypted" "" self.secret_note = cryptopy.encrypt_msg (note_text, cryptopy.ENCRYPTION_DICT) def decrypt_secret_note (auto, mot de passe): "" "Déchiffrer un message secret existant si thepassphrase est correct, sinon returnencrypted texte "" "si passphrase == PASSPHRASE: retour cryptopy.decrypt_msg (self.secret_note, cryptopy.DECRYPTION_DICT) else: return self.secret_note
>>> ======================= RESTART ======================= >>> [] F | qefkh | qebv | 7ob | ob7iiv | 9lli + texte décrypté = Je pense qu'ils sont vraiment cool.Same aussi original: True
Afficher les jours jusqu'à votre prochain anniversaire avec Python
Vous pouvez déterminer le temps entre deux dates avec Python datetime module. Combien de jours jusqu'à ce que le shopping votre anniversaire? Rapide, le comprendre que tout le monde peut faire en sorte de sauver et obtenir vos cadeaux dans le temps!
Vous pouvez savoir combien de jours il est jusqu'à ce que votre prochain anniversaire en suivant ces étapes:
Ajouter une nouvelle méthode pour AddressEntry appelé days_to_birthday.
Dans days_to_birthday, convertir la date de naissance dans un date objet.
Créer un date objet qui a le même mois et le jour que la date de naissance, mais un an plus égale à l'année en cours (que vous obtenez à partir de date.today).
Comparez cette date contre date.today.
Si elle est dans l'avenir, ce qui est le prochain anniversaire et vous aurez votre réponse. Si elle est dans le passé, vous avez déjà eu votre anniversaire cette année. Calculez la date jusqu'à l'anniversaire de l'année prochaine.
Utilisez cette méthode pour imprimer le nombre de jours jusqu'à ce que votre prochain anniversaire dans display_summaries.
Voici les importations ajoutés:
datetime de temps de dateimport d'importation
Le nouveau days_to_birthday méthode:
def days_to_birthday (self): "" "Calculer le nombre de jours jusqu'à la person'snext anniversaire (peut-être l'année prochaine)" "" aujourd'hui = date.today () Spam = time.strptime (self.date_of_birth, "% B% d% Y ") persons_dob = date (today.year, spam.tm_mon, spam.tm_mday) # prendre l'année à partir de la date d'aujourd'hui, mais le jour de monthand partir de la date de naissance de la personne du #. Cela crée une date INTHE year.difference actuelle = difference.days persons_dob-todayif lt; 0: # avait anniversaire cette yearalreadypersons_dob = date (today.year + 1, spam.tm_mon, spam.tm_mday) # Get prochaines années date et recalculatedifference = persons_dob-todayreturn difference.days
Le nouveau display_summaries méthode ressemble à ceci:
def display_summaries (auto): "" "afficher les informations de résumé pour chaque entrée inaddress livre" "" print ("Résultats Résumés") pour l'indice, entrée en énumérer (self.address_book.people): le spam = entry.days_to_birthday () si le spam == 0: days_to_go = "Aujourd'hui!" else: days_to_go = "% s jours"% spamprint ("% s:% s suivante d'anniversaire:.% s" l'% (index + 1, entrée, days_to_go)) # commencent la numérotation à 1
Utiliser Python pour aider avec vos devoirs de maths
Python peut faire fractions de sorte que vous pouvez vérifier vos réponses aux devoirs. Utilisez le fractions module, et son Fraction objet, en précisant le numérateur et le dénominateur. Pour obtenir un demi-type fractions.Fraction (1, 2). Pour les quatre cinquièmes, le type fractions.Fraction (4, 5):
Tkinter en Python est livré avec beaucoup de bons widgets. Widgets sont des éléments standard de l'interface utilisateur graphique (GUI), comme différentes sortes de boutons et menus. La plupart Tkinter widgets sont donnés ici.
Étiquette Widget
UN Étiquette montre widget de texte à l'utilisateur. Vous pouvez mettre à jour le widget programme, par exemple, fournir une barre de lecture ou de statut.
UN Bouton peut être sur et en dehors. Quand un utilisateur clique dessus, le bouton émet un événement. Les images peuvent être affichées sur les boutons.
UN Bouton de radio vous permet de mettre boutons en même temps, de sorte qu'un seul d'entre eux peut être cliqué. Si un bouton est sur et l'utilisateur clique sur l'autre, le premier est réglé sur de. Usage Tkinter variables (principalement Tkinter.IntVar et Tkinter.StringVar) Pour accéder à son état.
importation Tkinterparent_widget = Tkinter.Tk () v = Tkinter.IntVar () v.set (1) # besoin d'utiliser v.set et v.get à définir et à getThis variableradiobutton_widget1 = Tkinter.Radiobutton (parent_widget, text = "Radiobutton 1" , variable = v, la valeur = 1) = radiobutton_widget2 Tkinter.Radiobutton (parent_widget, text = "Radiobutton 2", variable = v, la valeur = 2) radiobutton_widget1.pack () radiobutton_widget2.pack () Tkinter.mainloop ()
Radiobutton Widget (suppléant)
Vous pouvez afficher une Bouton de radio sans l'indicateur dot. Dans ce cas, il affiche son état en étant enfoncés ou en relief.
UN Checkbutton registres on / off vrai faux état / ou. Comme un Bouton de radio, un Checkbutton widget peut être affiché sans son coche, et vous avez besoin d'utiliser un Tkinter variable pour accéder à son état.
Utiliser un Échelle widget lorsque vous voulez un curseur qui va d'une valeur à une autre. Vous pouvez définir les valeurs de début et de fin, ainsi que l'étape. Par exemple, vous pouvez avoir un curseur qui n'a que les même valeurs entre 2 et 100. Accéder à sa valeur actuelle par son obtenir dologie définir sa valeur actuelle par son ensemble Procédé.
La LabelFrame agit comme un widget parent pour d'autres widgets, les afficher avec un titre et une description. LabelFrame doit avoir un widget enfant avant que vous puissiez le voir.
La Menu widget peut créer une barre de menu. Création de menus peut être difficile, surtout si vous voulez menus déroulants. Pour ce faire, vous utilisez un séparée Menu un widget pour chaque menu déroulant vous créez.
importation Tkinterparent_widget = Tkinter.Tk () def menu_callback (): print ("je suis dans le menu de rappel!") def submenu_callback (): print ("Je suis dans le rappel de sous-menu!") menu_widget = Tkinter.Menu ( parent_widget) submenu_widget = Tkinter.Menu (menu_widget, tearoff = False) submenu_widget.add_command (label = "Sous-menu Item1", commande = submenu_callback) submenu_widget.add_command (label = "Sous-menu Item2", commande = submenu_callback) menu_widget.add_cascade (label = "Item1", menu=submenu_widget)menu_widget.add_command(label="Item2",command=menu_callback)menu_widget.add_command(label="Item3",command=menu_callback)parent_widget.config(menu=menu_widget)Tkinter.mainloop()
OptionMenu Widget
La OptionMenu widget vous permet à l'utilisateur de choisir parmi une liste d'options. Pour utiliser le OptionMenu de la bonne façon, vous aurez probablement besoin de se lier à un rappel distincte qui met à jour autre information basée sur la sélection de l'utilisateur. Obtenez la valeur actuellement sélectionnée avec son obtenir Procédé.
Python 2.7 et les exemples de mots-clés sous-ensemble
La programmation est une compétence importante. Python vous sera bien utile pour les années à venir. Les tableaux ici vous donner les mots clés, built-ins, les fonctions de la bibliothèque standard, et les opérateurs que vous utilisez le plus lorsque vous codez avec Python.
Mots Python de base
Mots-clés
Résumé
Exemple
et
Opérateur logique de tester si deux choses sont à la fois Vrai.
x> 2 et XLT; 10
comme
Affectez un objet fichier à une variable. Utilisé avec avec. Laissez votre code référer à un module sous un nom différent (appelé aussi une alias). Utilisé avec importation.
avec l'open (lt;nom de fichier>, lt;mode de fichier>) En tant que lt;nom de l'objet>: cPickle d'importation comme cornichon
pause
Arrêter l'exécution d'une boucle.
for i in range (10): si i% 2 == 0: pause
classe
Définir un objet personnalisé.
classe lt;Nom de la classe> (objet): classe MyClass (objet): passer
continuer
Passer l'équilibre de la boucle et de commencer une nouvelle itération.
for i in range (10): si i% 2 == 0: continuer
def
Définir une fonction.
def lt;nom de la fonction> (): passer def my_function (): passer
Elif
Ajouter à un test conditionnel si clause.
Voir si.
autre
Ajoutez un bloc de code alternative.
Voir si.
pour
Créer une boucle qui parcourt à travers des éléments d'une liste (ou autre itérable).
pour lt;nom de la variable dummy> Dans lt;séquence>: for i in range (10):
de
Importer des fonctions spécifiques d'un module sans importer l'ensemble du module.
de lt;nom du module> Import lt;nom de la fonction ou de l'objet> de randint d'importation aléatoire
mondial
Faire une variable de portée mondiale. (Si une variable est définie dans la section principale, vous pouvez modifier sa valeur dans une fonction.)
x mondiale
si
Créer une condition. Si la condition est Vrai, le bloc de code associé est exécuté. Dans le cas contraire, toute Elif les commandes sont traitées. Si il n'y en a pas, ou ne sont satisfaites, exécuter la autre bloquer si il ya un.
si : [Elif : , ...] [else: ] si x == 1: print ("x est 1") Elif x == 2: print ("x est 2») Elif x> 3: print ("x est supérieur à 3") autre print ("x est inférieure ou égale à trois, ni une une ou deux»)
importation
Utilisez le code défini dans un autre fichier sans retaper.
importation lt;nom du module> importation aléatoire
dans
Utilisé pour déterminer si une valeur donnée est l'un des éléments d'un objet.
1 dans la gamme (10)
est
Utilisé pour tester si les noms font référence au même objet.
x = Aucun x est plus rapide que Aucun # x == None
lambda
Définition de la fonction de sténographie. Habituellement utilisé lorsqu'une fonction doit être passée en argument à une autre fonction.
lamda : fois = lambda x, y: x * y commande = lambda x: self.draw_line (self.control_points)
pas
Négation logique, utilisé pour annuler une condition logique. Ne pas utiliser pour tester supérieur, inférieur ou égal.
10 pas dans la gamme (10)
ou
Opérateur logique pour tester si au moins une des deux choses est Vrai.
XLT, 2 ou x> 10
passer
Espace réservé mot-clé. Ne fait rien mais arrêtez Python se plaindre que un bloc de code est vide.
def a_function (): passer
impression
Texte de sortie à une borne.
impression("Bonjour le monde!")
retour
Retour de l'exécution d'une fonction. Si une valeur est spécifiée, retourner cette valeur, sinon retourner Aucun.
Retour return x + 2
tandis que
Exécuter un bloc de code tant que la condition est associée Vrai.
tandis que : while True: passer
avec
Obtenez Python pour gérer une ressource (comme un fichier) pour vous.
avec l'open (,) Comme
Étendre les fonctionnalités de base de Python avec ces built-ins.
Python Bâtie-ins
Built-in
Remarques
Exemple
Faux
Valeur, retournée par une opération logique ou directement affecté.
ok_to_continue = False âge = 16 old_enough = âge> = 21 (évalue la comparaison âge> = 21 et affecte le résultat à assez vieux)
Aucun
Valeur utilisée lorsque représentant l'absence d'une valeur ou d'initialiser une variable qui sera modifié par la suite. Retourné par des fonctions qui ne retournent pas explicitement une valeur.
x = Aucun
Vrai
Valeur, retournée par une opération logique.
ok_to_continue = True âge = 21 old_enough = âge> = 21 (évalue la comparaison âge> = 21 et affecte le entraîner à old_enough)
__name__
Constant, montre le nom du module. Si ce n'est pas "__principal__", le code est utilisé dans une importation.
si __name __ =="__main__":
dir
Liste des attributs d'un élément.
dir (lt;nom de l'objet>)
énumérer
Parcourir une séquence et le nombre de chaque élément.
énumérer ('Bonjour')
Sortie
Quittez Python (ligne de commande) interprète.
Sortie()
flotteur
Convertir un nombre en nombre décimal, d'habitude si cette division fonctionne correctement.
1 / flotteur (2)
getattr
Obtenez un attribut d'un objet par un nom. Utile pour l'introspection.
getattr (lt;nom de l'objet>, lt;Nom de l'attribut>)
Aidez-moi
Obtenez Python docstring sur l'objet.
aide (lt;nom de l'objet>) aide (getattr)
id
Afficher l'emplacement dans la RAM des ordinateurs où un objet est stocké.
id (lt;nom de l'objet>) id (aide)
int
Convertir une chaîne en un nombre entier.
int ('0')
len
Obtenez le nombre d'éléments dans une séquence.
len ([0,1])
objet
Une base sur laquelle d'autres classes peuvent hériter de.
CustomObject classe (objet):
ouvert
Ouvrez un fichier sur le disque, retourner un objet fichier.
ouvert (, ) ouvert ('mydatafile.txt'>, 'r') # lecture ouverte un fichier pour lire les données à partir de ouvert ('mydatafile.txt'>, 'r') # écriture (crée un nouveau fichier sur lequel écrire, détruit tout fichier existant avec le même nom) ouvert ('mydatafile.txt'>, 'r') # append (ajoute à un fichier existant le cas échéant, ou crée un nouveau si aucune déjà existantes)
impression
Réimplementation de impression mot-clé, mais aussi une fonction.
impression('Bonjour le monde!')
gamme
Donne numéros entre les limites inférieure et supérieure spécifiées (y compris la partie inférieure, mais à l'exclusion de la limite supérieure). Une étape peut être spécifié.
gamme (10) gamme (5,10) gamme (1,10,2)
raw_input
Obtenez un texte sous forme de chaîne de l'utilisateur, avec une invite facultative.
= rapides'Quelle est votre proposition?' players_guess = raw_input (prompt)
str
Conversion d'un objet (généralement un nombre) en une chaîne (généralement pour l'impression).
str (0)
type
Donnez le type de l'objet spécifié.
tapez (0) Type ('0') Type ([]) Type ({}) Type (())
Utilisez le travail que d'autres l'ont déjà fait. Essayez ces modules de la bibliothèque standard de Python.
Fonctions sélectionnées de la bibliothèque standard
Module
Ce qu'il fait
Exemples de fonctions / Objets
os.path
Fonctions relatives aux fichiers et chemins de fichiers.
(os.path.exists)
cornichon, cPickle
Sauvegarder et charger les objets depuis / vers un fichier.
Pickle.load (),pickle.dump (
aléatoire
Diverses fonctions relatives aux nombres aléatoires.
Est le côté gauche plus que le côté droit? > = un moyen supérieur ou égal à
>>> 2> 1 Vrai
lt;
Moins de
Est le côté gauche inférieure à la droite? lt; = un moyen inférieur ou égal à
>>> 1 lt; 2 Vrai
(ou et)
Et
Sont à la fois gauche et à droite Vrai? Généralement utilisé pour des conditions complexes où vous voulez faire quelque chose si tout est Vrai: tandis im_hungry et you_have_food:
Est-gauche ou à droite Vrai? Généralement utilisé pour des conditions complexes où vous voulez au moins une chose d'être Vrai: tandis im_bored ou youre_bored:
Après avoir créé une liste en utilisant Python, vous souhaitez accéder à l'information qu'il contient. Un objet est pas particulièrement utile si vous ne pouvez pas accéder au moins les informations qu'il contient. Les étapes suivantes…
UN constructeur est un type spécial de la méthode que Python appelle quand il instancie un objet en utilisant les définitions trouvées dans votre classe. Python repose sur le constructeur pour effectuer des tâches telles que initialisation…
UN file fonctionne différemment d'une pile en Python. Pensez à toute ligne vous êtes déjà restés dans: Vous allez à l'arrière de la ligne, et quand vous atteignez l'avant de la ligne que vous arrivez à faire ce que vous étiez dans la ligne…
Très peu de demandes existent dans leur propre monde - qui est, en dehors de l'utilisateur. Cela vaut pour les applications Python ainsi. En fait, la plupart des applications d'interagir avec les utilisateurs d'une manière importante parce que les…
Une stratégie pour la gestion des exceptions en Python est de fournir spécifique sauf clauses pour toutes les exceptions connues et générique sauf clauses pour gérer les exceptions inconnus. Vérifiez la hiérarchie d'exception qui utilise…
La plupart des langages de programmation (Python exclu), fournissent une sorte de déclaration de l'interrupteur. Une instruction switch prévoit élégantes sélections de type de menu. L'utilisateur dispose d'un certain nombre d'options mais est…
Les fonctions peuvent afficher des données directement en Python ou ils peuvent renvoyer les données à l'appelant de sorte que l'appelant peut faire quelque chose de plus avec elle. Dans certains cas, une donnée fonction affiche directement…
Même la saisie des données d'un mauvais type produit un message d'erreur en Python, mais entrant dans le bon type de données en dehors de la gamme indique à l'utilisateur rien. Dans cet exemple, vous faire découvrir les moyens pour corriger ce…
Votre application Python peut arriver au point où vous avez besoin d'utiliser la Elif clause. Vous allez à un restaurant et regardez le menu. Le restaurant propose des œufs, des crêpes, des gaufres, et la farine d'avoine pour le petit déjeuner.…
Il est possible d'utiliser le si déclaration dans un certain nombre de moyens dans une application Python. Cependant, vous devez immédiatement savoir environ trois façons courantes de l'utiliser:Utilisez une seule condition pour exécuter une…
La liste suivante vous montre comment effectuer les méthodes de cordes commun ou les actions sur une corde, en Python. Tapez la commande spécifique pour atteindre le résultat souhaité.SyntaxeActionS.count (sous-chaîne [, début [, fin]])Compter…
Pour aller au-delà des fonctions de base en Python, créer le look up fonction de dictionnaire. Le Raspberry Pi vous permet de construire une fonction qui prend le texte et les contrôles du joueur pour toutes les réponses pertinentes. Pour ce…
Il ya des situations où HTML5 offre actuellement une solution pour un besoin particulier dans CSS3, mais quelques vendeurs ont encore mis en œuvre. Ceci est le cas avec la date et l'heure le support de HTML. Seulement Opera et Chrome offrent un…
Comme le montre le tableau suivant, vous pouvez utiliser ces déclarations javascript dans votre propre code pour créer et modifier des variables dans vos fonctions javascript.Élément Descriptionvar myVar = 0-Crée une variable dont la…