Bonjour,

Dans le cadre de mes cours, je dois réaliser un exercice :

J'utilise Python 3.7
Créer un tableau avec "n" lignes et "p" colonnes et y inscrire les valeurs de 1 à n*p et lorsque l'on tape un nombre (élément du tableau) le programme doit retourner la ligne et la colonne de l'élément en question sans utiliser ni numpy, ni de structure conditionnelle.

Voila ce que j'ai réalisé pour le moment :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
n = int(input("Entrez le nombre de lignes : "))
p = int(input("Entrez le nombre de colonnes : "))
T = [[j+1 for j in range(p)] for i in range(n)]
print(T)
Ceci me retourne pour n=5 et p=4 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
[[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]]
ou encore :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
n = int(input("Entrez le nombre de lignes : "))
p = int(input("Entrez le nombre de colonnes : "))
np = n * p + 1
T = list(range(1, np))
print(T)
qui me retourne pour n=5 et p=4
Code : Sélectionner tout - Visualiser dans une fenêtre à part
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
Mais je voudrais avoir un résultat tel que toujours en fonction de "n" et "p" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16], [17, 18, 19, 20]]
Merci pour l'aide que vous m'apporterez.

Doky.