[Déplacé]convertion python en vb2010

NeoRonin - 1 oct. 2012 à 03:49
 NeoRonin - 6 oct. 2012 à 16:15
Salut,

Quelqu'un pourrait me convertir se code pour python en visual basic 2010.

Merci



def(Algo(chars))
    factor = [7, 3, 1]        
    result = 0         

    for index, char in enumerate(chars.upper()):               

        if char == '<':                        
            char = 0                

         elif char >= 'A' and char <= 'Z':                        
            char = ord(char) - 55                

        else:                        
            char = int(char)                 


        result += char * factor[index % 3]         

    return result % 10 print 


Algo('numero de telephone')


merci
A voir également:

28 réponses

Utilisateur anonyme
3 oct. 2012 à 16:53
Je ne connais pas trop New Dictionary(Of Char, integer)

Je te rappelle qu'après avoir placé ton curseur sur un élément de ton code, tu peux presser la touche F1 pour obtenir de l'aide.
0
NHenry,

Bon j ai creuse un peu ton idee.

Module Module1

    Sub Main()
        Dim MonDict As New Dictionary(Of Char, Integer)
        MonDict.Add(">", 0)
        MonDict.Add("0", 0)
        MonDict.Add("1", 1)
        MonDict.Add("2", 2)

        Dim PoidsCar As Integer
        PoidsCar = MonDict(">")
        Console.WriteLine(PoidsCar)
        Console.Read()

    End Sub

End Module


Donc la dans cette version je donne comme valeur '>' et il m'affiche 0
Par contre lorsque je met :
PoidsCar = MonDict(">12")

PoidsCar = MonDict("> & 1 & 2")


Il m'affiche toujours 0. Donc j'ai regarde un peu partout mais je sais pas comment attruer plusieur caractere ?
J 'aurais besoin d'un coup de main la dessus.

Merci
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
3 oct. 2012 à 20:31
Bonjour,

Il faut que tu fasse la recherche de la valeur, caractère par caractères.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
0
Alors si je comprend bien il faut une variable pour chaque caractere ?
PoidsCar1 = MonDict(">")
PoidsCar2 = MonDict("1")
etc...


Apres il faut que j' attribut le resultat à une variable seul.
PoidsTotal = PoidsTotal1 & PoidsTotal & etc....


Mais comment applique la multiplication sur chaque variable, le fameux 7,3,1.
Je m explique, si PoirdsTotal = 01 comment faire pour que 7 * 0 + 3*1 , etc...
Ou bien dois je effectuer le calcul avant de regrouper le total dans la variable PoidsTotal ?

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
4 oct. 2012 à 19:31
Bonjour,

Essayes déjà d'écrire en FRANCAIS les opérations à faire, cela te permettra de voir clair, car apparemment, tu ne semble pas avoir compris le fonctionnement du l'algorithme que tu cherches à implémenter.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
0
Si j'ai compris.

< = 0
0 = 0
1 = 1
etc...
A = 10
B = 11
etc...

Donc:

Si j 'ecris <0BA cela donne en valeur numerique : 001110
Application du calclul 0*7 + 0*3 + 11*1 + 10 *7 = 81
Ensuite 81 Modulo 10 = 1

Voila je pense avoir compris le principe :)

Je sais si vous avez remarquer mais je m'acroche, je veux bien reecrire le code, mais meme quand je relis les tuto sa m aide pas non plus des masses. Surtout qu il y a des choses que je comprend pas.
Alors je sais que s est en codans que l'on devient codeur ;) mais je veux bien un coup de main :)
Apres je demande pas a ce que le travail soit mache.
Mais des exemples de code avec leur resultat que moi meme je pourrais comprendre afin de m aider.

Etc...


Merci
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
4 oct. 2012 à 22:59
Bonjour,

D'accord, c'est déjà plus clair :)

Comme le but est d'avoir une somme, tu peux créer une variable locale à ta fonction qui contiendra la somme des différentes multiplications.

(Implicitement, cela indique une boucle For Each qui lit les caractères de la chaine passée en paramètre)

Ensuite, tu fais ton modulo

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
0
Salut Nhenry,

J ai trouvé un cour plus detaile et complet sur le net :)
Donc deja j ai appris que 'dictionary' etait une class, que char correspond à un type alphanumerique :)

J'espere pouvoir sortir quelque chose de viable bientot.

Je m etrais à jours ce post selon mes avance :)
0
Rejoignez-nous