Le 4 mai 2021, la plateforme Yahoo Questions/Réponses fermera. Elle est désormais accessible en mode lecture seule. Aucune modification ne sera apportée aux autres sites ou services Yahoo, ni à votre compte Yahoo. Vous trouverez plus d’informations sur l'arrêt de Yahoo Questions/Réponses et sur le téléchargement de vos données sur cette page d'aide.
Conversion code source VB vers Python3?
Quelqu'un peut-il m'aider à convertir le code source ci-après vers Python 3.
Le programme ouvre un fichier"essai.txt" et lit ce fichier ligne par ligne dont il inverse la chaîne de caractères puis la réécrit dans le fichier "essai2.txt".
Merci à l'avance.
Voici le code source en Visual Basic :
Dim Chaine As String, Fligne As String
Open "c:\essai.txt" For Input As #1
Open "c:\essai2.txt" For Output As #2
Do While Not EOF(1)
Line Input #1, Chaine
Chaine = InverseChaine(Chaine)
Print #2, Chaine
Chaine = ""
Loop
Close #1
Close #2
-----------------------------------------
Public Function InverseChaine(a As String)
Dim ligne As String
Dim l As Long
ligne = ""
l = Len(a)
Chaine = a
Do While l > 0
ligne = ligne + Mid(Chaine, l, 1)
l = l - 1
Loop
InverseChaine = ligne
End Function
3 réponses
- ?Lv 5il y a 8 ansRéponse favorite
Entre nous, vu l'immense complexité du fonctionnel, tu as meilleur compte à l'écrire de zéro ton prg en Python
- il y a 8 ans
En Python, c'est quand même plus joli d'écrire une fonction InverseChaine récursive.
Une chaîne inversée, c'est le dernier caractère de la chaîne auquel on concatène l'inversion de ce qui reste de la chaîne...
- Shark-OzzyLv 6il y a 8 ans
def InverseChaine (ch):
----- if ch=='' :
----------------return ''
------else :
----------------return ch[-1] + InverseChaine(ch[:-1])
Comme l'a dit Spanish...
et le reste devrait ressembler à :
f = open('essai.txt','r')
g= open('essai2.txt','w')
for line in f:
------------ g.write(InverseChaine(line))
f.close()
g.close()