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

Résolu
Soulplayer Messages postés 10 Statut Membre -  
Soulplayer Messages postés 10 Statut Membre -
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.

4 réponses

  1. Soulplayer Messages postés 10 Statut Membre
     
    d'accord mais avec des recherche j'ai trouver la fonction "in" plus pratique que mon code, merci pour votre aide.
    0
  2. 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
  3. Soulplayer Messages postés 10 Statut Membre
     
    (et pour tester si l'input est un int ou str j'ai mis int(input) et utiliser try et except )
    0