Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

Répondre

Veuillez composer votre message et l'envoyer
Nom (obligatoire)

E-mail (obligatoire)

Message (obligatoire)

Programme anti-spam : Afin de lutter contre le spam, nous vous demandons de bien vouloir répondre à la question suivante. Après inscription sur le site, vous n'aurez plus à répondre à ces questions.

Quel est le résultat de l'opération suivante (donner le résultat en chiffres)?
cinq plus trente huit
Système anti-bot

Faites glisser le curseur de gauche à droite pour activer le bouton de confirmation.

Attention : Vous devez activer Javascript dans votre navigateur pour utiliser le système anti-bot.

Retour

Résumé de la discussion (messages les plus récents en premier)

yoshi
16-10-2019 18:42:19

Salut,

tu as raté un épisode...

print(" n ", end = "  ")
for n in range (6) :
    print(n, end="  ")

Jusque là, ok ou presque : tu n'as pas respecté le nombre d'espaces que j'ai mis
Mais si tu enchaînes avec print("Un", end="  "), il est normal que n et Un ne soient pas l'un sous l'autre...
Voilà ce que ça donne :  n   0  1  2  3  4  5  Un 
Pourquoi ?
Parce que le end="  " ajoute un ou deux espaces, après le nombre que tu viens d'écrire... et le suivant sera écrit sur la même ligne !
Si j'écris

for n in range (6) :
    print(n, end="_")

Là, tu va voir ce qu'il se  passe :
0_1_2_3_4_5_
Donc, si regarde mieux ce que j'ai écrit :


print(" n ", end = "  ")
for n in range (6) :
    print(n, end="  ")
print()
print("Un",end="  ")

et je t'ai de plus signalé que ce print() n'écrivait rien, mais permettait d'aller à la ligne suivante.
Pourquoi ça ? Avec print(), comme il n'écrit rien, il n'y a pas de end=... donc comme tu ne précises rien sur ce qui doit se passer, par défaut Python retourne à la ligne, comme ça :

 n   0  1  2  3  4  5  
Un

Donc je vais, uniquement pour que te puisses les compter, remplacer les espaces par des "+"

print("+n+", end = "++")
for n in range (6) :
    print(n, end="++")
print()
print("Un",end="++")
 

print(1,2) : la virgule est ce qui indique qu'il faut écrire 1 et 2 sur la même ligne et séparés par 1 espace...
Mais, on n'a pas le droit d'écrire
print(1,)
quelque chose doit suivre la virgule, d'où, en particulier dans une une boucle, l'ajout après la virgule du end ="..."
Et tu mets ce que tu veux entre les guillemets !

Mais à la fin lorsque tu veux changer de ligne, tu es obligé d'ajouter un print()...


Quant à ta question sur l'enseignement des suites, elle me montre qu'il est temps que je te conseille un bouquin. J'ai attendu mais c'est le bon moment :
https://www.amazon.fr/Interros-Lyc%C3%A … 209186062X
Je l'ai conseillé à beaucoup de monde : tous ont été très satisfaits...
Ce n'est plus tout à fait ton programme de cette années (nouveaux programmes), mais il te rendra service pour le prix et le nombre de pages... Ses corrigés ne se limitent pas  à une simple réponse : ils sont détaillés...
C'est un bouquin que j'ai utilisé pour moi : je l'ai beaucoup apprécié...
Qu'est-ce que tu appris sur les suites ?
Suite arithmétique. Somme des termes
Suite géométrique. Somme des termes.
Suite croissante, suite décroissante
Limite d'une suite
Suite convergente, suite divergente
Suite définie par récurrence. Exemple
$\begin{cases}u_1&=1\\
u_{n+1}&=U_n+1\end{cases}$

Si tu as vu la démonstration par récurrence (3 étapes), ou les formules donnant la sommes des termes d'une suite arithmétique ou géométrique, alors je peux te demander
Combien vaut $Sn=u_1+u_2+u_3+\cdots+u_n$
Même question avec :
$\begin{cases}u_1&=1\\
u_{n+1}&=U_n+2\end{cases}= ?$ en fonction de n
$Sn=u_1+u_2+u_3+\cdots+u_n=?$
N-B.
Pour ce dernier exercice $u_n=2n_1$ En effet $u_1= 2 \times 1-1=1$, u2=2\times 2-1 =3, $u_3=2 \times 3 -1$...
En effet, un nombre impair est un nombre pair +1 si on part de 0 (2 * 0), ou un nombre pair -1 si on part de 2 (2 * 1)
C'est plus facile avec les formules des sommes...

@+

yannD
16-10-2019 14:17:55

j'ai essayé de faire le tableau avec n en premier, mais je n'arrive pas à mettre Un en dessous de n

print("n", end = " ")
for n in range (6) :
   
    print(n, end=" ")
print("Un", end = " ")    
 
yannD
16-10-2019 14:05:19

je l'ai pas dit mais j'ai des difficultés avec les suites et on a fait des exercices bien plus dire, aurais-tu un exercice avec un algorithme  à faire dans le même style ?
Avec tes premières , tu fais quoi pour apprendre les suites ?

yannD
16-10-2019 13:59:10

l'énoncé est bien : Déterminer les 6 premiers termes d'une suite à l'aide d'un tableur
et Déterminer les 6 premiers termes d'une suite à l'aide d'un algorithme

Zebulor
16-10-2019 13:38:07

Re,
en effet ce style de suite dans le forum "Supérieur" n'est pas au programme de Yann...

yoshi
16-10-2019 13:19:55

Salut


@Yannd
Je ne dirais pas exercice sur les suites, car avec ton énoncé (t'as vérifié si c'était bien le bon ?) c'est plus un exercice de fonction affine $fx)=3x-1$...

Ce qui suit l'intervention de Zebulor ne t'était pas destiné...
De plus, je t'avais dit précédemment que l'affichage en lignes style tableur que j'ai explicité aujourd'hui dépassait tes connaissances et le propos de l'exercice...
Tu peux utiliser jusqu'au post #17.

Et puis, non, ce n'est pas si compliqué que cela... Tout est matière de :
- connaissances
- mise en pratique

Avec le 2e site signalé (qui indente à ta place)... Tester, tester, et retester, tu peux faire autant d'essais que tu veux : c'est comme ça qu'on avance...

@^+

Zebulor
16-10-2019 13:06:54

salut Yann,
Y aurait pas le théorème de Thalès dans ces histoires de construction d'objets?
Pour les exercices de suite dont tu parles, je pense aussi à une autre suite dans une autre discussion de ce forum..

yannD
16-10-2019 12:30:12

Salut Yoshi, ça devient compliqué et c'est plus des exercices sur les suites que l'on nous demande de faire

yoshi
16-10-2019 12:22:28

Re,

Oui, parce que reste basique...
Que voudrais-tu savoir de plus ?
Pour tester sans avoir Python sur sa machine :
https://pynative.com/online-python-code … thon-code/
Très bien...
une chaîne (alphanumérique) peut être composée de chiffres, de lettres ou les deux.
Lettre ou chiffre, c'est de même nature : ce sont des symboles, qu'on désigne sous le nom générique de caractères...
A noter que si la chaine n'est composée que de chiffres, on peut la transformer en un nombre entier sifné ou pas :
print(int("256")) affiche 256

Et c'est bien un nombre
print(int("256")*3) affiche 768
print(int("-23")) affiche -23

L'intérêt d'une chaîne est qu'on peut connaître sa longueur facilement avec l'instruction len'= (de l'anglais length, longueur)
print(len("012345678")) renvoie 9....
print(len("A1B2C3D4E5F6G7H8I9")) renvoie 18...

Que ce soit une boucle (on peut modifier ça) ou une chaîne, la numérotation commence à 0.
Donc le 3e caractère de la chaîne "A1B2C3D4E5F6G7H8I9" est celui qui occupe la position n°2, soit le "B"
print("A1B2C3D4E5F6G7H8I9""[2]) renvoie B...

Je peux demander les caractères entre la position 2 et la position 5(limite supérieure toujours exclue) :
print("A1B2C3D4E5F6G7H8I9"[2:5]) renvoie B2C...

Bref, il y a plein de choses "rigolotes" qu'on peut faire en manipulant plus savamment encore les chaînes..., comme vérifier si deux mots sont anacycliques (qui se lisent aussi bien dans le sens GD que DG avec des significations différentes) les palindromes en sont des cas particuliers).
Ça se fait en une seule ligne :
print("RENGAGER"[::-1]=="REGAGNER") renvoie : True...

le = simple s'emploie pour une affectation : a=2, on affecte 2 à la variable a, le double égal,   a==2, pour une comparaison d'égalité : a est-il égal à 2 ?

@+

Zebulor
16-10-2019 10:41:47

Bonjour Yoshi,
voilà qui me fait une excellente initiation à ce langage de programmation..

yannD
16-10-2019 10:39:44

Salut, oui, c'est de l'optique géométrique : représenter un objet derrière la lentille en faisant des tracés parallèles

yoshi
16-10-2019 10:33:38

RE,

Ah oui, l'optique, ça me rappelle de bons souvenirs, c'est de l'optique géométriqua vec distance focale, foyer image, foyer objet, $\frac 1 f = \frac 1 p+\frac{1}{p'}$...

Ce que tu me dis de print me fait penser aux versions 2.x de Python...
Ton print me fait penser au print de ces versions qui n'était pas une fonction  : on écrivait print  a,b...
Ave les versions 3 si tu n'utilises pas de parenthèses ça ne marche pas : message d'erreur.
On écrit maintenant print(a,b)
le "end=" permet de contrôler ce qui se passe à la fin :

for in i in range(2,5):
    print (i)

Te renverra :
2
3
4
Mais

for in i in range(2,5):
    print (i,end= " ")

renvoie
2 3 4...
Dans un print, on peut mélanger les nombres et le chaînes de caractères
Il y a le nombre 2 et la chaîne (string) "2"
Tu demandes print(2*3)
et tu obtiens 6
Tu peux aussi écrire :
print("2 x 3 =",2*3)
Et tu obtiens 2 x 3 = 6
mais il n'est pas possible de multiplier, soustraire ou diviser 2 chaînes.
On peut additionner deux chaînes, ou multiplier une chaîne par un nombre n:
print("AB"+"CD") te donne "ABCD" mais te ne vois pas les " qui sont les délimiteurs de chaînes...
print("ABCD"*4) te donne ABCDABCDABCDABCD
Et on peut transformer un nombre en chaîne : print(str(23))
te renvoie la chaîne "23", plus le nombre, la preuve :
print(str(23)*3) te renvoie 232323
print(23 * 3) te renvoie lui 69.
Moyennant quoi le print et les if dans ton exercice permettait d'écrire avec deux boucles pour ressembler à ce qui apparaît dans le tableur...
1ere boucle avec un print avant:

print (" n ", end="  ")
for n in range(6):
print(n,end="  ")

(avec 2 espaces pour le : end="  "
te donne

  n   0  1  2  3  4  5

en ajoutant une deuxième boucle avec 2 print()
Le 1er, vide, n'écrit rien mais retourne à la ligne (sans lui, ce qui suit continuerait sur la même ligne)
Le 2nd écrit Un.


print(" n ",end="  ")
for n in range(6):
  print(n,end="  ")
 
print()
print("Un",end="  ")
for n in range(6):
  u=3*n-1
  if u>5:
    print(u,end=" ")
  else:
    print(u,end="  ")
 

1 espaces, puis  2 dans end=" "
Et voilà ce que ça donne :


 n   0  1  2  3  4  5  
Un  -1  2  5  8 11 14
 

Mais là, je triche, je connais les résultats(puisque j'écris u>5) avant de lancer les boucles.

Je vais appeler us (u suivant la valeur de un+1 qui sera us=3*(n+1)-1=3*n+3-1=3*n+2
Et dans ce cas je mets un espace de moins après l'écriture de u...
Code modifié :


print(" n ",end="  ")
for n in range(6):
  print(n,end="  ")

print()
print("Un",end="  ")
for n in range(6):
  u=3*n-1
  us=3*n+2
  if us>10:
    print(u,end=" ")
  else:
    print(u,end="  ")
 

Et ça donne la même chose :


 n   0  1  2  3  4  5  
Un  -1  2  5  8 11 14
 

Mais cela ne marchera tant que que n<10, après, ce sera tout décalé...

Je ne vais pas te soûler en te montrant comment on peut corriger cela...

@+

yannD
16-10-2019 08:44:27

Bonjour Yoshi, je n'ai pas répondu tout de suite à ta question : je te demande pardon, j'avais un TP d'optique à préparer. Et pour répondre à ta question, et bien j'ai vu la fonction print mais pas quand c'est suivi de end=""

yoshi
14-10-2019 19:00:39

Re,

Et ce qui concerne le print() ?

@+

yannD
14-10-2019 17:07:24

Bonsoir Yoshi, oui, j'ai appris à utiliser les conditions

Pied de page des forums