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

Soyez le premier à donner votre avis sur cette source.

Vue 6 782 fois - Téléchargée 371 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))
Messages postés
157
Date d'inscription
dimanche 18 avril 2004
Statut
Membre
Dernière intervention
25 juillet 2018
4
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()
Messages postés
157
Date d'inscription
dimanche 18 avril 2004
Statut
Membre
Dernière intervention
25 juillet 2018
4
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
Messages postés
1
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. :)
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
305
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.