Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > fr.comp.lang.python > #3180
| From | Pierre Maurette <maurette.pierre@free.fr> |
|---|---|
| Newsgroups | fr.comp.lang.python |
| Subject | Re: Matrices |
| Date | 2019-03-07 08:11 +0100 |
| Organization | A noiseless patient Spider |
| Message-ID | <mn.39eb7e334252aefd.79899@free.fr> (permalink) |
| References | <_tadnd2-S9NWph3BnZ2dnUU798zNnZ2d@giganews.com> |
Ju32700 :
> Bonjour,
> j'aurais besoin d'aide pour mon programme en Python s'il vous plait :
>
> ##def lignecomplete(M): # M est une matrice carrée d'ordre n
> ## # Si une des lignes est complète, le programme renvoie "Vrai"
> ## # Sinon, il renvoie "Faux"
>
> Il faut que l'une des lignes soit uniquement rempli de 1 pour renvoyer "True"
>
> Si je fais
>>> lignecomplete([[1,1,1],[1,1,1]])
> True
>
> Sinon
>>> lignecomplete([[1,1,0],[1,0,1]])
> False
J'imagine qu'il s'agit d'un exercice dans le cadre d'une formation.
L'énoncé devrait être être plus précis, ou plus explicite. Tel quel, il
semble qu'on doive renvoyer une chaîne, alors qu'un booléen est
d'évidence plus logique (LOL). Faut-il lire "Une des lignes au moins"
ou "Exactement une des lignes" ?
L'énoncé parle de "matrice carrée d'ordre n", les matrices de vos
exemples ne sont pas carrées.
A moins que je râte quelque chose, l'exercice n'est pas si facile que
ça.
Vous pouvez décortiquer ce code pour rédiger votre proposition:
#! /usr/bin/env python3
# -*- coding: utf-8 -*-
def checkSquareMatrice(M, n):
return [len(x) == n for x in M] == n * [True]
def ligneCompleteStrict(M, n):
return (len([x for x in M if x == n * [1]]) == 1)
def ligneCompleteAuMoins(M, n):
return (len([x for x in M if x == n * [1]]) > 0)
for M in [ [[0,1,1],[1,1,0],[1,0]],
[[0,1,1],[1,1,0],[1,0,1]],
[[1,1,1],[1,1,0],[1,0,1]],
[[1,1,1],[1,1,1],[1,0,1]] ]:
lM = len(M)
if (checkSquareMatrice(M, lM)):
print ('Matrice: %s, taille: %s' % (M, lM))
print ('Un seul: %s' % ligneCompleteStrict(M, lM))
print ('Au moins un: %s\n' % ligneCompleteAuMoins(M, lM))
else:
print ('Matrice: %s, NOT A "MATRICE"\n' % M)
--
Pierre Maurette
Back to fr.comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar
Matrices Ju32700 <nospam_julien.barre75@orange.fr.invalid> - 2019-03-06 15:29 -0600 Re: Matrices Benoit Izac <use.reply.to@INVALID.ADDRESS> - 2019-03-07 07:01 +0100 Re: Matrices Pierre Maurette <maurette.pierre@free.fr> - 2019-03-07 08:11 +0100 Re: Matrices ast <none@gmail.com> - 2019-03-07 09:45 +0100
csiph-web