Les algorithmes du type "jeu de la vie" sont utilisés depuis bien longtemps dans de nombreux domaines. Ils permettent également de simuler la propagation d'un virus dans une population donnée et ils offrent des effets visuels intéressants au niveau de la représentation graphique des résultats. Ils permettent de rendre compte de l'évolution d'un modèle SIR(M) probabilistes. Le programme ci-dessous a été construit avec les hypothèses suivantes:
- l'immunité acquise ou initiale est permanente
- une personne infectée infecte ses "voisins" avec un taux de contagion probaContag
- la maladie est létale à partir du 8ème jour avec une probabilité de décès de probaDec
- les états possibles sont Sains, Infectés, Immunisés (Remis) ou Morts
Si j'exécute le programme avec les paramètres suivants:
- probaContag = 0. 055
- probaDec = 0, 005
- NbJours infection = 14
j'obtiens ce genre de simulation (la couleur représente l'état: blanc=sain, rouge=infecté, vert=immunisé, noir=décédé). Simulation vidéo 1
et la dynamique du modèle est la suivante (l'échelle est logarithmique!
Jeu De La Vie Code Python 2
En d'autres mots, tu essayes d'accéder au pixel (10, 10) dans une image de 9 x 9 pixels par exemple. Pour savoir à quel endroit cela se passe, il est nécessaire de copier ici le traceback (message) d'erreur complet. 16/05/2015, 09h22
#3
Envoyé par VinsS
Merci beaucoup VinsS, j'ai réussi à régler le problème de dimension, mais aujourd'hui, je me retrouve dans une nouvelle impasse. Voici les règles du jeu de la vie:
- si un pixel noir est entouré de 2 ou 3 pixels noirs, il reste reste noir, sinon il meurt et devient blanc. - si un pixel blanc est entouré de 3 pixels noirs, il devient noir, sinon il reste blanc. Prenons pour exemple le pixel de coordonnées (1, 1) dans un monde 5x5. J'ai réussi à calculer son nombre de voisins et à générer un nouveau monde où ce pixel devient noir ou blanc en fonction des règles citées précédemment. Cependant, je n'arrive pas à faire de boucle pour que chaque pixel soit traité indépendamment. Je ne sais vraiment pas comment alors je vous remercie par avance de votre aide.
Jeu De La Vie Code Python
Travail à réaliser ¶
On décompose le travail à effectuer en plusieurs étapes, mais un seul
code est attendu au final: le choix entre les diverses possibilités
devra être offert à l'utilisateur à travers un menu. Version initiale ¶
Nous allons commencer par concevoir un premier programme du jeu de la
vie en python. Ce programme devra demander à l'utilisateur de saisir la
dimension \(N\) de la grille (grille carrée de dimensions
\(N \times N\)), ainsi que le taux d'occupation initial. Le
programme créera alors la grille 2D souhaitée et l'initialisera
aléatoirement en respectant le taux d'occupation choisi. Puis,
l'utilisateur pourra choisir si le programme fera évoluer la grille pas
de temps par pas de temps, ou si la simulation sera effectuée pour un
nombre de pas de temps donné (choisi par l'utilisateur). Pour simuler un espace infini, nous considérerons que les deux
dimensions de la grille sont périodiques: à savoir, la colonne à
«gauche» (respectivement, à «droite») de la première (resp.
Jeu De La Vie Code Python.Org
= 0:
16/05/2015, 11h30
#4
Ton code vérifie toujours le même pixel il me semble. Remplace ta boucle par ceci:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
offset = ( ( - 1, - 1), ( - 1, 0), ( - 1, 1), ( 0, - 1), ( 0, 1), ( 1, - 1), ( 1, 0), ( 1, 1))
centre = tpixel ( ( x, y))
nbVoisinsNoirs = 0
for off in offset:
try:
if not tpixel ( ( x+off [ 0], y+off [ 1])):
nbVoisinsNoirs += 1
except IndexError:
pass
if nbVoisinsNoirs == 3 and centre == 255:
elif not nbVoisinsNoirs in [ 2, 3] and not centre:
19/05/2015, 15h32
#5
VinsS, je vous remercie énormément pour votre réponse car nous avons testé le programme que vous nous aviez envoyé et il marche bel et bien. Nous voudrions simplement plus d'informations à propos des fonctions utilisées. Nous voudrions par exemple en savoir plus sur la fonction 'try' et sur le 'except Index Error'. Nous vous remercions encore une fois de plus. Bénédicte et Cécile. 19/05/2015, 16h45
#6
Membre chevronné
Envoyé par Benecile
De quoi vous aiguiller:
19/05/2015, 16h46
#7
Un bloc try except finally sert à exécuter du code que l'on sait susceptible de provoquer une erreur.
L'erreur est attrapée au vol, en quelque sorte, par le except ce qui permet d'exécuter alors un plan B.
Dans ton cas, on risque d'avoir des coordonnées de pixel soit négatives (-1) soit supérieures à la taille de l'image, dans ces cas l'erreur serait IndexError
Démo:
>>> def try_ ( word, pos):... try:... return word [ pos]... except IndexError:... return "L'index est trop grand! "...
>>> s = "Python"
>>> s [ 2]
't'
>>> s [ 6]
Traceback ( most recent call last):
File "", line 1, in
IndexError: string index out of range
>>> try_ ( s, 2)
>>> try_ ( s, 6)
"L'index est trop grand! " >>>
Plus de détails ici:
19/05/2015, 20h17
#8
Merci pour ces précisions. D'après les informations que vous avez donné, je comprend que cette fonction try est indispensable pour les pixels qui longent le damier. Rectifiez moi si je me trompe, mais lorsque que vous utiliser la fonction offset=((-1, 0)) par exemple, off[0]=-1 et off[1]=0. Cette fonction permet de déterminer les coordonnées des voisins en fonction du pixel central de coordonnées (0, 0).
Adresse
Résidence Les Ecrins Chemin du Riou Sec,
Les Orres,
France,
05200
Description
Cet appartement Résidence Les Ecrins de 15 m² offre une kitchenette, ainsi que des chambres avec une TV, un espace de repas et des fenêtres insonorisées. L'appartement est situé à 15 minutes de marche de Télésiège Champ Lacas, et à 5 minutes à pied de Semlore. Location La École de ski des Orres peut être atteint en voiture en quelques minutes, tandis que Télésiège de Prélongis est juste à côté de cet appartement. La propriété aux Orres est à 30 minutes à pied du centre-ville. Les options de restauration comprennent Cote Terroir et L'escale Blanche, situés à 350 mètres de cet appartement. La station de ski Les Orres 1650 est l'une des principales attractions de la région. Les ecrins les ogres de barback. La station d'autobus l'Arret Navette Estomac est à 5 minutes d'allure. Chambres Cette propriété dispose de 1 chambres. Il offre cet appartement avec 1 salles de bains. Dîner On y trouve également une micro-ondes, un frigidaire et une vaisselle.
Les Ecrins Les Ogres De Barback
Cliquez pour agrandir. Photos non contractuelles. Résidence de tourisme - A seulement 200m des pistes - A 150m des commerces - Wifi gratuit - Casiers à skis. Notes des internautes ( 99)
Propreté
3. 3
Confort
Emplacement
Qualité/prix
4. 3
Services & Animations
Situation de la résidence Les Ecrins Dans les Hautes-Alpes, et plus précisément aux Orres, vous pourrez profiter des joies des sports d'hiver au sein de l'agréable résidence Les Ecrins. Parc national des Ecrins |. Cette location se situe à coté du centre des Orres, à (2 km). Vous pourrez trouver à 300 mètres (remontée Prelongis) de votre location les espaces skiables. Commerces Côté supermarchés, vous pouvez aller au Sherpa, au 8 à Huit ou au Sherpa Alimentation qui sont les supermarchés les plus proches de votre hébergement. Si vous souhaitez savourer des spécialités locales, vous pouvez vous rendre en rentrant du ski aux Moufles Aux Pieds, à La Dolce Vita ou au Côté Terroir. Sorties et activités Les bars le Bowlingo, le Winter Lounge ou le Cagnard sont les meilleurs endroits pour aller boire un verre.
+ Suite - Moins
Chambres et disponibilités
Chambre Standarde Triple
Options de lit:
Places couchées pour 3 personnes
Max:
3 personnes
Chambre Standarde Quadruple
Places couchées pour 4 personnes
4 personnes
Chambre Familiale
Montrer 1 autres types de chambre Moins
Location
Points de repère de ville
À proximité
Restaurants
Télésiège Champ Lacas
3000 ft
Télésiège de Prébois
4300 ft
Télésiège de Bois Long
Télésiège de Prélongis
Télésiège Grand Clos
1. 0
mi
2900 ft
Télésiège de Préclaux
1. 1
Zone de ski
École de ski des Orres
Chapelle Sainte-Marguerite
Télésiège de Champ Lacas
Centre Station
Luge L'Orrian Express
Télésiège de Grand Clos
4800 ft
Télésiège Préclaux
5300 ft
Église
église Sainte-Marie-Madeleine des Orres
2. Accueil | Hôtel Les Ecrins | Les Orres 1650. 1
Tête de la Mazelière
1. 6
Télésiège de la Pousterle
2. 4
Télésiège de Fontaine
Rémontée mechanique du Prévieux
église Notre-Dame-de-la-Présentation du Mélezet
Sculptures sur neige
Parc Jungle Aventure
600 ft
Domaine skiable des Orres
1100 ft
Immeuble Soldanelles A coter de la pharmacie
Restaurant L'Oree des Pistes
900 ft
Centre Station 1650 Le Boussolenc
La Table de Sébastien
Galerie Commerciale Galerie commerciale les Soldanelles
Restaurant La Ficeliere
700 ft
1500 Station des Orres Imm Boussolenc
Commentaires
8.