Se connecter

Informatique

Création de Jeux

Sujet : [Python] Inverser deux lettres
1
Neklyo
Niveau 10
11 octobre 2014 à 18:41:04

Bonjour, j'aimerai savoir comment échanger la place de deux lettre.

J'ai tenter ceci :

import re

ch=input('Entrez une chaîne de carractère : ')
print('Maintenant choississez deux caractères que vous souhaitez inverser')
c1=input('Caractère N°1 : ')
c2=input('Caractère N°2 : ')

ch.replace(c1,c2)
ch.replace(c2,c1)
print(ch)

Le problème c'est que la deuxieme ligne ( ch.replace(c2,c1) ) fait donc un retour à la normal

Exemple :

Pour la phrase : J'aime les chats
Carac 1 = a
Carac 2 = i

Je voudrai que cela écrit

J'iame les chits

mais après le " ch.replace(c1,c2) "
Cela note J'iime les chits, puis après le "ch.replace(c2,c1)"
Cela retourne à la normal soit : J'aime les chats..

Help please :hap:

Skyonch4
Niveau 9
11 octobre 2014 à 19:07:33

Je ne m'y connais pas spécialement en python , mais tu pourrais essayer de faire un truc du genre :

ch=input('blablabla')
c1=input('Caractère N°1 : ')
c2=input('Caractère N°2 : ')
ch.replace(c1,'@')
ch.replace(c2,'=')
ch.replace('@',c2)
ch.replace('=',c1)

Genre si :

c1= 'A'
c2= 'M'
ch= 'J aime ta mere'

Sa donne :

ch = J @i=e t@ =ere

Puis tu remplace les caractères ce qui donne :

J Miae tm aere

J'm

Neklyo
Niveau 10
11 octobre 2014 à 19:14:38

Sauf que ça ne fonctionne pas :hap:

blablabla : lol
Caractère N°1 : l
Caractère N°2 : o
lol

Alors qu ca devrait etre olo

:hap:

s_cc
Niveau 7
11 octobre 2014 à 19:15:17

J'ai rien compris au post de VDD, mais voici mon code pour faire ça : http://pastebin.com/Ntxq6UHc

Ce qui donne :

~$ python test.py
Entrez une chaine de caractere : J'aime les lamas
Caractere 1 : a
Caractere 2 : i
J'iame les limis

s_cc
Niveau 7
11 octobre 2014 à 19:19:55

Ou même pour plus de propreté on peut virer la ligne 7 et remplacer la ligne 3 par ch = list(raw_input("Entrez une chaine de caractere : "))

Neklyo
Niveau 10
11 octobre 2014 à 19:22:03

Tu utilises python combien ? ( Question de curiosité )

Car j'ai testé ton code, avec raw_input cela ne fonctionne pas mais avec input cela fonctionne.

Et merci de ton aide :D

s_cc
Niveau 7
11 octobre 2014 à 19:24:04

Python 2.7.8, et je préfère encore rester sur cette version quelques temps car un grand nombre de librairies tierces ne fonctionnent pas encore sur Python 3.

Neklyo
Niveau 10
11 octobre 2014 à 19:26:45

C'est donc pour ça.

Pour les cours je me dois d'utiliser Python 3.

Et une question comme ça, cela signifie quoi le "enumerate" ?

s_cc
Niveau 7
11 octobre 2014 à 19:34:26

Enumerate permet de connaître la position dans le string ou la liste du caractère que nous sommes en train de lire.

Essaie ce code pour comprendre : http://pastebin.com/DCwdk5qq

Neklyo
Niveau 10
11 octobre 2014 à 19:43:58

Ah ok.

Pour le moment j'avais juste appris cette chose basique :hap:

http://pastebin.com/KeVUFDsv

Rikashi
Niveau 3
23 octobre 2014 à 21:49:11

Tu a un s6mbole en python qui te permais d'interchanger 2 valeur je crois que c'est #

1
Sujet : [Python] Inverser deux lettres
News culture
La Planète des Singes : Le Nouveau Royaume - la révolution simienne est en marche !
   Retour haut de page
Consulter la version web de cette page