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

Résolu/Fermé
Soulplayer Messages postés 10 Date d'inscription mercredi 24 novembre 2021 Statut Membre Dernière intervention 14 août 2022 - Modifié le 24 nov. 2021 à 21:35
Soulplayer Messages postés 10 Date d'inscription mercredi 24 novembre 2021 Statut Membre Dernière intervention 14 août 2022 - 25 nov. 2021 à 08:42
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

Whismeril Messages postés 19032 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 avril 2024 931
24 nov. 2021 à 21:48
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 mercredi 24 novembre 2021 Statut Membre Dernière intervention 14 août 2022
25 nov. 2021 à 08:20
d'accord mais avec des recherche j'ai trouver la fonction "in" plus pratique que mon code, merci pour votre aide.
0
Whismeril Messages postés 19032 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 28 avril 2024 931
25 nov. 2021 à 08:27
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 mercredi 24 novembre 2021 Statut Membre Dernière intervention 14 août 2022
25 nov. 2021 à 08:42
(et pour tester si l'input est un int ou str j'ai mis int(input) et utiliser try et except )
0