Inverseur de chaîne de caractère [interface graphique]

Soyez le premier à donner votre avis sur cette source.

Vue 6 423 fois - Téléchargée 338 fois

Description

Un petit programme qui inverse une chaîne de caractère saisie par l'utilisateur. Egalement inspiré d'un exercice issus de "Apprendre à Programmer avec Python" de Gérard Swinnen.

Source / Exemple :


#!/home/cyril/Bureau/Programmation/Projets_Finis
# -*- coding:Utf-8 -*-

###################################################################################################
# Nom du Programme : Calcul d'Aire [Triangle]                                                     #
# Descriptif : L'utilisateur rentre les trois côtés d'un triangle, l'ordinateur calcule son aire. #
# Auteur : FALCON Cyril.                                                                          #
# Version du 23/04/2011                                                             Licence : GPL #
###################################################################################################

#Compatibilité : 
import os

#Interface Graphique :
from Tkinter import *

#Fonction racine :
from math import sqrt

# ----------------------------------- Définition des Fonctions ----------------------------------- #

#Calcul de l'aire 
def calcul() :
	global a, b, c, d, Surface
	d = (float(a.get())+float(b.get())+float(c.get()))/2

	Surface = sqrt(d*(d-float(a.get()))*(d-float(b.get()))*(d-float(c.get())))
	
	vide3 = Label(fenetre)
	vide3.pack()
	resultat = Label(fenetre, text="Résultat : "+str(Surface))
	resultat.pack()

# -------------------------------------- Corps du Programme -------------------------------------- #

fenetre = Tk()
fenetre.geometry("250x200")
fenetre.title("Aire d'un triangle")

label1 = Label(fenetre, text="Premier côté : ")
label1.pack()

a = Entry(fenetre)
a.pack()

label2 = Label(fenetre, text="Deuxième côté : ")
label2.pack()

b = Entry(fenetre)
b.pack()

label3 = Label(fenetre, text="Troisième côté : ")
label3.pack()

c = Entry(fenetre)
c.pack()

vide = Label(fenetre)
vide.pack()

bouton = Button(fenetre, text="Calculer l'aire", command=calcul)
bouton.pack()

fenetre.mainloop()

Conclusion :


Hum... J'ai un petit problème dans le code, la chaîne de sortie [inversée] est présentée dans un Label, donc non récupérable par copier/coller. Et en utilisant un widget de type Entry, ma chaîne ne s'affiche jamais... Merci de votre aide. :) Sinon le code est utilisable comme ça, mais pas pratique.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

sinon il existe une methode: .reversed(str) qui fait le job et qui a ete inventer pour cela :)

mot = 'blabla'
tom = ''.join(reversed(mot))
Guillamue06
Messages postés
158
Date d'inscription
dimanche 18 avril 2004
Statut
Membre
Dernière intervention
25 juillet 2018
3 -
t-n-e-m-e-r-t-s-i-g-e-r-n-e- -t-e- -n-o-i-t-a-r-a-p-e-s- -e-d- -e-d-n-a-m-e-d- -e-n-u- -c-e-v-A- :

message = raw_input(" >> Phrase ou mot a inverser : ")
separation = raw_input(" >> Separer les lettres [o/n] : ")
newMessage = ""

for i in range(len(message)):
newMessage = newMessage + message[len(message) - i - 1] if separation "o" or separation "oui": newMessage = newMessage + "-"

f = open("Inverse.txt", "w+")
f.write(newMessage)
f.close()
Guillamue06
Messages postés
158
Date d'inscription
dimanche 18 avril 2004
Statut
Membre
Dernière intervention
25 juillet 2018
3 -
Bof pour se genre de prog l'interface graphique ne sert a rien.

Et pi se tout petit bout de code fait la même choses codé en 30sec :

message = raw_input("Texte a inverser : ")newMessage newMessage ""

for i in range(len(message)):
newMessage = newMessage + message[len(message) - i - 1]
print newMessage
cs_SeventhSon
Messages postés
2
Date d'inscription
dimanche 27 mars 2011
Statut
Membre
Dernière intervention
3 mai 2011
-
Merci pour ta note. :) Et également ton commentaire.

Je tiens compte de ton conseil, et expliciterai à l'avenir davantage le nom de mes variables. :)
cs_Julien39
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
250 -
C'est bien d'avoir des programmes simples d'ihm en python, en plus, tes commentaires sont assez bons. Ni trop, ni trop peu.

Par contre, si les noms de tes variables pouvaient être plus parlants...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.