SQLite avec python, insertion.
Teoman
-
Phil_1857 Messages postés 1872 Date d'inscription Statut Membre Dernière intervention -
Phil_1857 Messages postés 1872 Date d'inscription Statut Membre Dernière intervention -
Bonjour bonsoir,
Je suis un étudiant donc plutôt débutant en informatique. J'ai un projet à rendre pour la semaine prochaine est j'ai déjà un petit soucis avec mon code.
Voici mon envie et la réalité :
je veux pouvoir choisir la colonne ( 0,1,2 dans cette exemple ) pour pouvoir chercher des informations sur SQLite.
avec row, sauf que quand je lance mon code. J'ai "False" qui s'affiche et non les résultats du SQLite.
( c'est mon brouillon mais si elle ne fonctionne pas je ne pourrai pas l'intégrer dans mon projet ) :/ Merci de votre aide
Je suis un étudiant donc plutôt débutant en informatique. J'ai un projet à rendre pour la semaine prochaine est j'ai déjà un petit soucis avec mon code.
import sqlite3
conn = sqlite3.connect('brouillon.db')
cur = conn.cursor()
choixPossibles = ['0','1','2']
##annee = '0'
##sujet = '1'
##laureat = '2'
choixPossibles = input('Votre choix : ').upper()
A = "SELECT * FROM nobel "
result = cur.execute(A)
for row in result:
print(row [choixPossibles] )
Voici mon envie et la réalité :
je veux pouvoir choisir la colonne ( 0,1,2 dans cette exemple ) pour pouvoir chercher des informations sur SQLite.
avec row, sauf que quand je lance mon code. J'ai "False" qui s'affiche et non les résultats du SQLite.
( c'est mon brouillon mais si elle ne fonctionne pas je ne pourrai pas l'intégrer dans mon projet ) :/ Merci de votre aide
A voir également:
- SQLite avec python, insertion.
- Citizen code python avis - Accueil - Outils
- Touche insertion clavier - Guide
- Insertion sommaire word - Guide
- Insertion filigrane word - Guide
- Insertion liste déroulante excel - Guide
9 réponses
Bonjour,
Il faudrait déplacer cet appel dans le forum Python
Ceci dit, choixPossibles est une chaine de caractères et non un entier, donc peut-on faire
row[choixPossibles] ?
Il faudrait déplacer cet appel dans le forum Python
Ceci dit, choixPossibles est une chaine de caractères et non un entier, donc peut-on faire
row[choixPossibles] ?
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
pourquoi ne simplifies-tu pas ton programme pour tester?
il est préférable, également, de partager un programme que nous pouvons tester, donc avec la création et le remplissage de la table.
pourquoi ne simplifies-tu pas ton programme pour tester?
print(row[0])
il est préférable, également, de partager un programme que nous pouvons tester, donc avec la création et le remplissage de la table.
peux-tu partager du texte, et pas des images?
merci d'utiliser les balises de code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
merci d'utiliser les balises de code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Pas de photos, ce n'est pas très clair ni très pratique a copier/coller
L'indentation étant importante en Python, merci de copier/coller ici ton code complet avec les balises de code
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :
et comme je te le disais row[0] fonctionne mais pas row[choixPossibles] car choixPossibles est une string et pas un integer (input rend une string, il faut ensuite la convertir, par contre .upper() est inutile)
L'indentation étant importante en Python, merci de copier/coller ici ton code complet avec les balises de code
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :
def test(): print('test') test()
et comme je te le disais row[0] fonctionne mais pas row[choixPossibles] car choixPossibles est une string et pas un integer (input rend une string, il faut ensuite la convertir, par contre .upper() est inutile)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionimport sqlite3 conn = sqlite3.connect('brouillon.db') cur = conn.cursor() choixPossibles = ['0','1','2'] ##annee = '0' ##sujet = '1' ##laureat = '2' choixPossibles = input('Votre choix : ').upper() A = "SELECT * FROM nobel " result = cur.execute(A) for row in result: print(row == [choixPossibles] )
en espérant que ca marche !
print(row == [choixPossibles] ) : bizarre
et row[choixPossibles] ne marche pas car choixPossibles est une string !
et row[choixPossibles] ne marche pas car choixPossibles est une string !
oui mais ca marche pas : pour la 4eme fois choixPossibles est une string,
il faut d'abord la convertir en integer :
et
fonctionnera
il faut d'abord la convertir en integer :
choixPossibles =int(input('Votre choix : '))
et
print(row[choixPossibles ])
fonctionnera
sachant que ceci est inutile:
il faudrait écrire:
pour indiquer les choix possibles à l'utilisateur
Ou bien, encore plus clair (avec contrôle de saisie):
choixPossibles = ['0','1','2']
il faudrait écrire:
choixPossibles =int(input('Votre choix (1,2 ou 3) : '))
pour indiquer les choix possibles à l'utilisateur
Ou bien, encore plus clair (avec contrôle de saisie):
menu = ''' 0 Année 1 Sujet 2 Lauréat > ''' choix = '' while(not choix in [0,1,2]): os.system('cls' if os.name=='nt' else 'clear') print('\n' + '''Choisissez une option'''.center(50,'*')) choix = int(input(menu))