Fonction identifier si un élément est déja dans une liste

Résolu
Soulplayer Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
Soulplayer Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je ne comprend pas pourquoi cela ne marche pas . quand j'esssaye :

a= [1, 3, 6]
b = 4

def test(x,lst):
for i in lst:
if x == lst[i]:
return True
else:
return False

print(test(b,a))

dans un fichier a part cela marche cepandant dans mon code cela ne marche pas:

#f5 to run

import time
from random import *

#def testsi choix est déja dans la liste
def test(x,lst):
for i in lst:
if x == lst[i]:
return True
else:
return False


#intro
print("Bienvenue au loto python !")
print("Vous allez choisir 4 nombres entre 1 et 50\
et un nombre chance entre 1 et 10:")

#demande réponse joueur
a = [51]
choix = 0
i = 1

while i < 5:
print("choix n°", str(i), ":")
choix = input()

if choix > str(0) and choix < str(51):

if test(choix,a) == True:
print("Ce nombre est déja séléctionné...")

elif test(choix,a) == None:
print("1st")

else:
a.append(choix)
i += 1

else:
print("Entrer un nombre entre 1 et 50: ")

print(a)

Merci de votre réponse.
A voir également:

4 réponses

Utilisateur anonyme
 
Bonjour
En Python, l’indentation est primordiale, or par défaut le site ne la conserve pas.
Pour la conserver il faut utiliser les balises de code. Voir ce petit tuto https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
On pourra commencer à essayer de t’aider quand tu auras reposté correctement ton code.
0
Soulplayer Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
d'accord mais avec des recherche j'ai trouver la fonction "in" plus pratique que mon code, merci pour votre aide.
0
Utilisateur anonyme
 
Alors oui in est bien plus pratique.
Cela dit, le but de ton exercice était peut-être de coder ça toi-même dans un premier temps.
0
Soulplayer Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
(et pour tester si l'input est un int ou str j'ai mis int(input) et utiliser try et except )
0