Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > fr.comp.lang.python > #3759

Re: Programmer le jeu "le compte est bon"

Path csiph.com!newsfeed.xs4all.nl!newsfeed9.news.xs4all.nl!feeder1.feed.usenet.farm!feed.usenet.farm!aioe.org!Faqf6A55NG1s8DSVkh3L9A.user.46.165.242.75.POSTED!not-for-mail
From Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid>
Newsgroups fr.comp.lang.python
Subject Re: Programmer le jeu "le compte est bon"
Date Sun, 13 Feb 2022 11:51:33 +0100
Organization Université de Strasbourg
Message-ID <87pmnrnioa.fsf@universite-de-strasbourg.fr.invalid> (permalink)
References <KNmdnQlSbPpcpJX_nZ2dnUU7_83NnZ2d@giganews.com>
Mime-Version 1.0
Content-Type text/plain; charset=utf-8
Content-Transfer-Encoding quoted-printable
Injection-Info gioia.aioe.org; logging-data="26265"; posting-host="Faqf6A55NG1s8DSVkh3L9A.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)
X-Notice Filtered by postfilter v. 0.9.2
Cancel-Lock sha1:5OcwmzQV+ktJaAjM9s1S4E2fEAM=
Xref csiph.com fr.comp.lang.python:3759

Show key headers only | View raw


ShahinaMohamed <nospam_shahina94@hotmail.fr.invalid> writes:

> Dans le cadre d’un mini-projet à l’université je dois coder le jeu «
> Le compte est bon ». Le jeu est issu de l’émission des chiffres et des
> lettres : 6 nombres parmi {1,2,3,4,5,6,7,8,9,10,25,50,75,100} sont
> tirés au sort (tirage avec remise). Ensuite, avec ces chiffres, nous
> devons réaliser des opérations mathématiques (+,-,/,x) pour trouver un
> autre nombre tiré au hasard entre 101 et 999.

Comme dit Stefan, c'est un problème difficile, et c'est un problème
d'algorithmique plus que de Python. Note déjà qu'il n'y a pas forcément
de solution (par exemple, si on tire 6 fois 1, il sera difficile de
produire 7 ou un nombre supérieur à 9 -- il me semble que chaque nombre
produit ne peut être utilisé qu'une seule fois).

Voilà une stratégie possible avec une liste initiale L et un but B :

- on choisit deux nombres N1 et N2 de L et une operation "o"
- on retire N1 et N2 de L, et on y ajoute le résultat (N1 "o" N2)
- puis on recommence avec ce nouveau jeu

Mais comme on peut choisir, il y a plusieurs possibilités. Il n'y a
pas vraiment de critère pour choisir, on essaie toutes les possibilités.
Au premier coup, avec 6 nombres, on a 6*5 choix du couple de nombres, et
4 opérations, donc 120 possibilités. Pour *chacune* de ces possibilités,
on a une nouvelle liste, mais avec seulement 5 nombres, et chacune de
ces listes permet de "générer" 5*4*4 (80) nouvelles listes. Etc.

Evidemment, si à n'importe quel moment on trouve une liste qui contient
B, on peut s'arrêter. Ou alors continuer, histoire de voir si il n'y a
pas une autre solution, peut-être plus rapide. Si on continue toujours,
on aura à la fin exploré (6*5*5*4*4*3*3*2*2*1)*4 listes.

J'ai fait l'hypothèse qu'on ne peut pas réutiliser un nombre. Si on
peut, alors il y a encore plus de possibilités, et on n'est même pas sûr
que l'agorithme va s'arrêter. Vérifie ce que dit l'énoncé.

En fait, si tu suis cette stratégie, tu verras que certaines listes sont
examinés plusieurs fois, parce que deux des opérations sont
commutatives, et donc l'ordre du choix des nombres est sans importance
pour ces deux opérations -- mais pas pour les deux autres. Essaye
d'écrire la formule exacte pour le nombre de possibilités, ce n'est pas
très dur.

De même si le même nombre est présent plusieurs fois dans la liste, on
produit plein de listes similaires. Bon, tu peux garder ce genre
d'optimisation pour plus tard je pense. Vérifie quand même ce que dit
l'énoncé.

-- Alain.

Back to fr.comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Programmer le jeu "le compte est bon" ShahinaMohamed <nospam_shahina94@hotmail.fr.invalid> - 2022-02-12 16:50 -0600
  Re: Programmer le jeu "le compte est bon" Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> - 2022-02-13 11:51 +0100
  Re: Programmer le jeu "le compte est bon" yves <yves@free.invalid> - 2022-02-13 15:34 +0000
  Re: Programmer le jeu "le compte est bon" Mc Beth <mcbeth82@gmail.com> - 2022-05-27 23:08 -0700

csiph-web