Je débute dans les variables et l'exercice "Table de multiplication" de niveau sur le site France IOI me pose problème.
Voici l'énoncé :
C'est l'heure du cours de mathématiques et aujourd'hui les enfants vont travailler la multiplication. Malheureusement, l'institutrice ne retrouve que la petite table de multiplication, qui va jusqu'à 5 fois 5, mais pas la grande table, qui va jusqu'à 20 fois 20. Elle souhaiterait que vous lui imprimiez une nouvelle table allant jusqu'à 20 fois 20, pour qu'elle puisse l'afficher au mur.
Ce que doit faire votre programme :
Voici à quoi ressemble la table de multiplication allant jusqu'à 5 fois 5.
Premièrement utilise les balises </> pour copier ton code, la c'est illisible c'est tout à la suite on y comprends rien.
Sinon tu peux essayer de faire quelque chose comme ca :
longueur_table = []
for i in range(20):
longueur_table.append(i+1)
for i in range(20):
ligne_affich= []
ligne_affich = [valeur*(i+1) for valeur in longueur_table]
print(ligne_affich)
Tu peux reprendre ce bout de code pour en faire une fonction, ou le modifier pour qu'il corresponde mieux à ce que tu veux faire
Effectivement, désolé pour l'affichage de mon code. J'ai fait un copié collé rapide, sans vérifier.
A mon niveau chez France IOI, j'ai seulement appris à faire des variables et des boucles comme ceci : "for loop in range() :" et les imbriquer entre elle.
Du coup je ne comprends pas les fonctions que tu me decris et j'ai mal à les utiliser dans mon exercice.
C'est l'heure du cours de mathématiques et aujourd'hui les enfants vont travailler la multiplication. Malheureusement, l'institutrice ne retrouve que la petite table de multiplication, qui va jusqu'à 5 fois 5, mais pas la grande table, qui va jusqu'à 20 fois 20. Elle souhaiterait que vous lui imprimiez une nouvelle table allant jusqu'à 20 fois 20, pour qu'elle puisse l'afficher au mur.
Ce que doit faire votre programme :
Voici à quoi ressemble la table de multiplication allant jusqu'à 5 fois 5.
def MultiplyElemOfList(TheList, Number):
return [TheList[_] * Number for _ in range(20)]
for i in range(1,21):
print(MultiplyElemOfList([_ for _ in range(1,21)], i))
Je connais bien cette institutrice Elle est très pointilleuse sur la présentation. Elle veut que les colonnes soient alignées. [print(*((' '*4+str(i))[-4:] for i in range(n,20*n+1,n)),sep='') for n in range(1,21)]
Le Tout est souvent plus grand que la somme de ses parties.
Je connais bien cette institutrice Elle est très pointilleuse sur la présentation. Elle veut que les colonnes soient alignées. [print(*((' '*4+str(i))[-4:] for i in range(n,20*n+1,n)),sep='') for n in range(1,21)]
for i in range(1,21): print(('{:>4}'*20).format(*range(i,i*21,i)))
Les chaînes formatées me paraissent en effet adaptées pour obtenir ce genre d'effet. On peut rendre les tables de multiplication plus lisibles encore, comme ICI.
Voici ma dernière version, mais sans le f-string. On ne peut pas mettre plusieurs choses formatées dans un { } [print('',("{:>3}"*20).format(*range(n,20*n+1,n))) for n in range(1,21)]
Le Tout est souvent plus grand que la somme de ses parties.
On ne peut pas mettre plusieurs choses formatées dans un { }
Comprends pas la remarque, que faut-il entendre par "choses formatées" ? Tu parles des champs de formatage ou des spécificateurs de formatage ? Un champ correspond à exactement un seul objet, l'objet correspondant dans la liste des arguments donnée à format. Et c'est pareil pour les f-string, c'est l'objet correspondant de l'espace de noms.
- Edité par PascalOrtiz 27 février 2021 à 19:51:39
J'ai essayé ceci même si je ne croyais pas vraiment que ça marcherais: print(f"{*range(20):>4}") Et c'est ce que j'ai obtenu: File "C:\Users\Administrateur\Documents\Sources\am.py", line 4 (*range(20)) ^ SyntaxError: f-string: can't use starred expression here Et je me suis trompé de solution, tout est mêlé dans ce fichier ... [print(("{:>4}"*20).format(*range(n,20*n+1,n))) for n in range(1,21)]
Le Tout est souvent plus grand que la somme de ses parties.
Créez une page web multiplication.html qui contiendra un formulaire. Ce formulaire contiendra deux champs de texte et un bouton de soumission. Il faudra faire en sorte que lorsque le formulaire est soumis, la page courante soit rechargée. Sous le formulaire, si celui-ci a été soumis, vous afficherez un tableau contenant les tables de multiplication. Les tables auront m lignes et n colonnes, où m est la valeur du premier champ du formulaire, et n est la valeur du deuxième champ du formulaire (avant soumission).
Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.
Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre. En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.
Au lieu de déterrer un sujet il est préférable :
soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
soit de créer un nouveau sujet décrivant votre propre contexte
ne pas répondre à un déterrage et le signaler à la modération
Manque de précisions
Vous êtes ici sur un forum d'entraide communautaire et non pas sur un forum de demande de service, le but n'est donc pas de fournir une réponse toute faite ou de directement fournir la solution à quiconque viendrait sans la moindre trace. Afin d'obtenir de l'aide et une solution à votre problème, il est fortement recommandé de présenter clairement l'état actuel du problème en nous fournissant :
Un descriptif clair et précis du problème
La tentative actuelle de résolution que vous avez effectué
Le résultat attendu et le résultat actuel
Toutes pistes de recherches pouvant aider à la résolution
Je ferme ce sujet. En cas de désaccord, me contacter par MP.
PB68
Python c'est bon, mangez-en.
Découverte Python Doc Tkinter Les chaînes de caractères
Le Tout est souvent plus grand que la somme de ses parties.
Python c'est bon, mangez-en.
Découverte Python Doc Tkinter Les chaînes de caractères
Le Tout est souvent plus grand que la somme de ses parties.
Découverte Python Doc Tkinter Les chaînes de caractères
Le Tout est souvent plus grand que la somme de ses parties.
Découverte Python Doc Tkinter Les chaînes de caractères
Le Tout est souvent plus grand que la somme de ses parties.