Probleme python
Résolu/Fermé
elise
-
2 nov. 2008 à 19:08
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 4 nov. 2008 à 13:44
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 4 nov. 2008 à 13:44
A voir également:
- Probleme python
- Citizen code python avis - Accueil - Outils
- Python est introuvable. exúcutez sans argument pour procúder ó l ✓ - Forum Python
- [PyCharm] Pas d'interpréteur python ✓ - Forum Python
- Extraire données fichier texte python ✓ - Forum Python
2 réponses
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 659
4 nov. 2008 à 13:44
4 nov. 2008 à 13:44
En fait on peut même faire:
casechoisie=random.choice(toutes)
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
2 nov. 2008 à 20:25
2 nov. 2008 à 20:25
Salut,
Là tu as créé un tuple, pas une liste.
Les tuples ne sont pas modifiables, alors que les listes si.
Ensuite extend est fait pour fusionner deux listes. Tu as besoin de append:
toutes=()
Là tu as créé un tuple, pas une liste.
Les tuples ne sont pas modifiables, alors que les listes si.
Ensuite extend est fait pour fusionner deux listes. Tu as besoin de append:
def toutecase(grille,animal): x=0 toutes=[] while (x<20): if grille[x]==animal: case=x toutes.append(case) x=x+1 print toutes
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
2 nov. 2008 à 20:29
2 nov. 2008 à 20:29
Plus pythonnique:
def toutecase(grille,animal): toutes=[] for i in range(len(grille)): if grille[i]==animal: toutes.append(i) print toutes
elise
>
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
2 nov. 2008 à 21:24
2 nov. 2008 à 21:24
nikel merci maintenant, j'ai un autre souci car parmi la liste que j'obtiens, je veux en prendre un au hasard. Jusqu'ici tout va bien j'ai réussi mais le probleme c'est que je veux utiliser mon résultat en tant que entier or j'obtiens une liste.
Mon code:
def toutecase(grille,animal):
x=0
toutes=[]
while (x<20):
if grille[x]==animal:
case=x
toutes.append(case)
x=x+1
return toutes
def hasardcase(grille,animal,toutes):
casechoisie=random.sample(toutes, 1)
return casechoisie
casechoisie est une liste contenant un entier mais pour obtenir l'entier tout seul???
je fais une fonction du type:
[x]=casechoisie
entier=x
Si tu as la patience de m'aider. Merci
Mon code:
def toutecase(grille,animal):
x=0
toutes=[]
while (x<20):
if grille[x]==animal:
case=x
toutes.append(case)
x=x+1
return toutes
def hasardcase(grille,animal,toutes):
casechoisie=random.sample(toutes, 1)
return casechoisie
casechoisie est une liste contenant un entier mais pour obtenir l'entier tout seul???
je fais une fonction du type:
[x]=casechoisie
entier=x
Si tu as la patience de m'aider. Merci
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
>
elise
2 nov. 2008 à 23:11
2 nov. 2008 à 23:11
Utilise random.randrange, ça permet de prendre un nombre au hazard entre 0 et le nombre donné:
def hasardcase(toutes): casechoisie=random.randrange(len(toutes)) return toutes[casechoisie]
elise
>
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
2 nov. 2008 à 23:41
2 nov. 2008 à 23:41
merci bcp ça marche nikel