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.

?
Lv 4
? a posé la question dans Informatique et internetProgrammation · il y a 8 ans

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

Évaluation
  • ?
    Lv 5
    il y a 8 ans
    Ré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...

  • il 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()

Vous avez d’autres questions ? Pour obtenir des réponses, posez vos questions dès maintenant.