Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

Python

Posté par
drkvador325
14-03-18 à 14:27

Bonjour à tous,

Cela fait quelques heures que je n'arrive pas à résoudre un problème

Énoncé : Ecrire un script qui calcul 25x32 uniquement à l'aide d'additions

J'aurai besoin d'aide

Merci.

Posté par
sanantonio312
re : Python 14-03-18 à 14:29

Bonjour,
Tu fais 25 boucles qui ajoutent 32 à une variable initialisée à 0.
Ou 32 boucles qui ajoutent 25.

Posté par
drkvador325
re : Python 14-03-18 à 14:31

Merci beaucoup

Posté par
bbomaths
re : Python 14-03-18 à 14:50

Bonjour.

25 x 32 sans addition ni multiplication...


print sum([32] * 25)

Posté par
drkvador325
re : Python 14-03-18 à 14:55

Voici mon  script est-il juste ? :/

while <=25 :
print(compteur,'*32=',compteur*32)
compteur + = 1
print(et voilà !)
    

Posté par
bbomaths
re : Python 14-03-18 à 14:57

Problème : qu'est-ce que vous comparez à 25 ?

Posté par
drkvador325
re : Python 14-03-18 à 14:59

Rien je cherche juste le résultat de la multiplication :/

Posté par
bbomaths
re : Python 14-03-18 à 15:06

Je comprends... à quoi sert compteur ?

Posté par
bbomaths
re : Python 14-03-18 à 15:28

Vous avez 2 solutions :

Soit :


i = ?
somme = ?
while i < ? :
   somme += ?
   i += ?
print somme

Soit :

somme = ?
for i in range(?) :
   somme += ?
print somme

Posté par
alb12
re : Python 14-03-18 à 15:45

salut,
j'aurais tendance à ne pas utiliser += (sauf si le prof l'a explique)

Posté par
mathafou Moderateur
re : Python 14-03-18 à 15:47

Bonjour,

il n'est pas forcément connu en seconde toutes les subtilités de Python

en particulier que somme += ??? veut dire
somme = somme + ???

ni le fonctionnement un peu bizarre de "in range"

je pense que ce qui est attendu est une écriture moins sophistiquée que += et range.
(donc avec un while et les += écrits sous leur forme développée avec une affectation simple)

Posté par
alb12
re : Python 14-03-18 à 15:52

on aurait pu laisse drkvador325 avancer ses pions pour voir ce qu'il connaît de python

Posté par
carpediem
re : Python 14-03-18 à 15:55

salut

tête à fou d'accord avec mathafou

et le plus simple en seconde est :

lire a
lire b
s = 0
pour i = 1 à a
    s = s + b
afficher s


attention ne marche que si a est positif (donc ou nul)

Posté par
alb12
re : Python 14-03-18 à 16:00

le "=" est discutable (voir recommandations bac 2018)

Posté par
bbomaths
re : Python 14-03-18 à 16:08

Le plus simple et sans controverse est :


print(22+32+32+32+32+32+32+32+32+32+32+32+32+32+32+32+32+32+32+32+32+32+32+32+32)


Posté par
mathafou Moderateur
re : Python 14-03-18 à 16:15

Citation :
le "=" est discutable (voir recommandations bac 2018)

Tout à fait
il n'a jamais été dit qu'il fallait le faire en Python
ni en quelque langage de programmation que ce soit

un "script" est donc à rédiger avec le langage de script spécifique au lycée tel que défini au lycée aujourd'hui (et nulle part ailleurs, ni jadis , ni dans l'avenir après une contre-réforme)

Posté par
bbomaths
re : Python 14-03-18 à 16:19

Le titre du topic est :

Citation :
Python

Posté par
mathafou Moderateur
re : Python 14-03-18 à 16:22

certes...

Posté par
carpediem
re : Python 14-03-18 à 16:37

rien à péter car je ne suis pas au lycée ...

et aucun langage (à part ces merdes de TI ou casio qui utilisent une flèche et dans le sens contraire aux spécifications du lycées)

bien sur quand je suis au lycée j'obéis "bêtement" aux ordres stupides (en tout cas pour celui là) de ma hiérarchie

d'ailleurs il est préconisé "d'apprendre python" qui n'utilise pas de flèche d'affectation !!!


mais en profond libéral

alb12 @ 14-03-2018 à 16:00

le "=" est discutable (voir recommandations bac 2018)
vous avez le droit (la liberté) d'en discuter

Posté par
alb12
re : Python 14-03-18 à 16:59

"rien à péter car je ne suis pas au lycée ... "
alors pourquoi repondre ici ?

Posté par
alb12
re : Python 14-03-18 à 17:00

@drkvador325
veux tu un script python ?

Posté par
carpediem
re : Python 14-03-18 à 17:26

envoyons lui directement à son prof ...

dans la philosophie de mathafou l'algorithme que j'ai proposé est suffisant ...

et il est inconcevable qu'un prof demande un script sans même en avoir étudié en classe ...

Posté par
mathafou Moderateur
re : Python 14-03-18 à 17:29

Citation :
la philosophie de mathafou
ouh là là !
disons "dans le cadre raisonnable le plus simple qui soit" suffira ...

Posté par
carpediem
re : Python 14-03-18 à 17:36



ce n'est pas tant les mots qui compte (même s'ils ne sont jamais anodins) mais l'idée sous-jacente exprimée par ces mots qui importe ...

Posté par
alb12
re : Python 14-03-18 à 17:48

"et il est inconcevable qu'un prof demande un script sans même en avoir étudié en classe"
Qu'en savons nous ?

Posté par
carpediem
re : Python 14-03-18 à 18:12

je ne dis pas que ce n'est pas possible ... je dis simplement que demander un script sans même en avoir vu un ou en avoir parler en classe est inconcevable pédagogiquement et dictatiquement !!! en particulier en seconde ...

Posté par
alb12
re : Python 14-03-18 à 18:32

vous avez dit pedagogie inversee ?

Posté par
carpediem
re : Python 14-03-18 à 19:28

...

avec des élèves de seconde qui ne savent pas lire, écrire, compter, calculer ... quand c'est déjà/encore/toujours le cas en terminale ?

(et je suis d'accord avec toi pour varier les"" plaisirs"" (les méthodes) bien sur)

Posté par
carpediem
re : Python 14-03-18 à 19:29

mais surement pas dans ce domaine quand tu vois le nombre de questions sur les algo qu'on a rien que sur l'île ...

Posté par
alb12
re : Python 14-03-18 à 20:08

Que d'interventions pour une malheureuse multiplication !
Les dipteres vont se plaindre ...

Posté par
bbomaths
re : Python 15-03-18 à 09:07

Bonjour.

Après toutes ces digressions, on reprend....

Vous avez 3 solutions :

Solution 1 :


# somme 25 fois 32
somme = 32+32+32+32+32+32+32+32+32+32+32+32+32+32+32+32+32+32+32+32+32+32+32+32+32
# affiche la somme
print(somme)

Solution la plus simple mais complètement inadaptée à un changement sur le nombre d'additions ou à la valeur à additionnée.

Solution 2 : la boucle while condition :

# compteur d'additions
i = 0
# somme courante
somme = 0
# boucle tant que le nombre d'additions n'est pas atteint (ici 25)
while i < 25 :
   # ajoute 32 a la somme
   somme += 32
   # addition suivante
   i += 1
# affiche la somme
print(somme)

Solution 3 : la boucle for i in range() :

La fonction range(N) génère une liste de nombre interne de 0 à N-1.

L'instruction for ... in ... : balaie la liste des nombres et tant qu'elle n'a pas  tout balayer, elle exécute le bloc d'instructions indenté qui la suit.

# somme courante
somme = 0
# boucle pour un nombre d'additions prévu (ici 25)
for i in range(25) :
   # ajoute 32 a la somme
   somme += 32
# affiche la somme
print(somme)

Remarque :

L'instruction x += y est équivalent à x = x + y.

De même, les instructions suivantes sont permises :

x -= y équivalent à x = x - y.
x *= y équivalent à x = x * y.
x /= y équivalent à x = x / y.
x %= y équivalent à x = x % y.



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1506 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !