We were unable to load Disqus. If you are a moderator please see our troubleshooting guide.
oe c l'islande
qqn peut m'aider pour la question de "inverser les valeurs de a et b" du chap 6 voici mon code:
a ,b=n**2 ,a+5
print(a,end= b)
et l'erreur:
Traceback (most recent call last):
File "Variables_et_fonctions/Programme_calcul3_Test.py", line 87, in <module>
if __name__ == "__main__": test()
File "Variables_et_fonctions/Programme_calcul3_Test.py", line 73, in test
mon_programme(n)
File "/project/target/Variables_et_fonctions/Programme_calcul3.py", line 18, in mon_programme
print(a,end= b)
TypeError: end must be None or a string, not int
Salut, dans ton print, l'argument end est censé être un string ou None. Ici b est un int dans ton code.
Selon la documentation python, concernant la fonction print :
print(*objects, sep=' ', end='\n', file=None, flush=False)
Tous les arguments positionnels sont convertis en chaîne comme le fait str(), puis écrits sur le flux, séparés par sep et terminés par end. sep et end doivent être des chaînes, ou None, indiquant de prendre les valeurs par défaut. Si aucun objects n'est donné print() écris seulement end.
Donc end indique la string à écrire à la fin de ce que tu veux afficher. Il est optionnel, si tu ne mets rien, il mettra juste un retour à la ligne.
Si ton objectif était d'afficher a et b tu peux écrire print(a,b) et tu auras à l'affichage sur la même ligne et séparer par un espace a et b.
Bonne journée.
J'ai essayé le deuxième exercice avec le code suivant
from math import sqrt
def mon_programme(n):
#Ne pas toucher ce qui précède
#Les valeurs pour les variables en entrée seront automatiquement données
#Ecrire ci-dessous en n'oubliant pas d'indenter
a = (n+4)**3
print(a)
b = sqrt(a)
print(b)
c = a//n
print(c)
d = a%n
print(d)
e = (a+5)%(n-1)
print(e)
f = a*c*d*e
print(f)
# Appuyer sur Run pour recevoir les instructions
Mai j'ai eu cette erreur
Traceback (most recent call last):
File "Variables_et_fonctions/Programme_calcul1_Test.py", line 90, in <module>
if __name__ == "__main__": test()
File "Variables_et_fonctions/Programme_calcul1_Test.py", line 76, in test
mon_programme(n)
File "/project/target/Variables_et_fonctions/Programme_calcul1.py", line 9, in mon_programme
b = sqrt(a)
ValueError: math domain error
Dans les tests, il y avait n=-5. Je l'ai retiré donc cela devrait marcher normalement.
Je n'avais pas vu l'erreur car j'avais utilisé la puissance 0.5 qui donne la valeur complexe et donc ne renvoie pas d'erreur.
Merci de m'avoir signalé le problème.
c anormale
ya pas un moyen d'avoir les réponses qd on n'y arrive pas?
Bonjour,
J' arrive pas trop à comprendre.
Par exemple dans l' exercice 1 du 3/132, il y a marqué qu' un nombre n sera donné automatiquement. Sauf que moi dans les instructions, il n'y a pas marqué à quoi correspond n. Dans les inscriptions, il y a marqué : Soustraire 3 à n et sauvegarder le résultat dans x. Ensuite, afficher x
Aidez-moi svp.
Bonjour,
Le fonctionnement n'est pas toujours évident au début.
Le but de la plupart des exercices est de créer une fonction (ici de n). Pour vérifier si votre réponse est juste, des tests vont être faits avec différentes valeurs de n pour voir si le résultat est bon. C'est pour cela qu'il est marqué que n sera donné automatiquement, ce n'est pas à vous de lui donner une valeur.
def mon_programme(n):
#Premiere solution
x = n -3
print(x)
#Deuxieme solution
y = 2 * x
print(y)
#Troisime solution
z = y**2
print(z)
# la quatrieme
a = z/10
print(a)
# la derniere
reponse = n+x+y+z+a
print(reponse)
Bonjour,
Nouveau sur le site.
Je bloque dès l'exercice 1 3/139
Je ne comprend pas à quoi correspond pass, comment obtenir le code?
Bonjour dans l'exo 1 (le Hello World), j'ai écrit cela (avec l'indentation) :def ma_fonction(a,b):
print("Hello World")
Cependant en compilant, j'obtiens cette erreur ainsi qu'un échec :Traceback (most recent call last):
File "Variables_et_fonctions/Hello_world_test.py", line 2, in <module>
from Prise_en_main_Exo_1 import mon_programme
ImportError: cannot import name 'mon_programme' from 'Prise_en_main_Exo_1' (/project/target/Variables_et_fonctions/Prise_en_main_Exo_1.py)
Corrigé.
Merci pour la remarque
ex 13 page 14
super
Hello de l'aide !
Bien volontier
Exercice 2 Page 5
from math import *
def ma_fonction():
a=pi**2
return (a)
b=2**pi
return (b)
if a>b:
print(a)
elif b>a:
pritn(b)
ma_fonction()
yeahh
Bonjour,
est ce que quelqu'un peut me donner une partie de réponse concernant l'exercice 2/7 SVP
bonjour
quelqu'un pourrait m'expliquer se qu'il faut faire a la page 33 EXO 1 recherche d'une probabilité inconnue
On va simuler le lancer d'un verre en plastique . Ce verre peut se retrouver dans trois positions : ∩, ⊂ (ou ⊃ mais c'est pareil que ⊂ ) ou ∪
. On numérote ces positions de 1 à 3.
Pour simuler le lancer du verre, il faut utiliser la fonction lancer()
qui renverra le résultat du lancer sous la forme 1, 2 ou 3.
Créer une fonction qui renvoie la liste des approximations (à 0.01 près) des probabilités de chaque position dans l'ordre.
merci d'avance
Bonjour, et gros merci pour ces cours!!
Concernant l'exercice 3 pour les chaîne des caractères, je ne comprends pas.
Voici mon code:
texte = "(texte de l'exercice 3)"
x=0
for car in texte [x:]:
if car == "e":
print (car,texte.find("e"))
x = (texte.find("e"))+1
Quand je print la variable x, elle est bien incrémentée. Pourquoi je n'arrive pas à obtenir l'indice correspondant à l'emplacement du "e" dans ce cas puisque le champs de mon texte devrait éliminer la dernière variable trouvée grâce à la boucle. Vous voyez où est l'erreur?
Merci
salut voila une solution possible :
char = 'e'
for i , c in enumerate(texte) :
indexes = [i for i, c in enumerate(texte) if c == char]
for ind in indexes :
print(ind)
j'ai le même genre de soucis, quelqu'un a t-il une solution ?
Bonjour,
Je ne comprends pas ou est censé s'afficher le résultat du run.
Je valorise mon code, je clique sur "Run", il me demande d'attendre puis plus rien.
Qu'est-ce que j'ai loupé ?
Merci d'avance
Je viens de tester l'extrait de code sur la première page et j'obtiens un résultat. Sur quelle page et quel bout de code rencontres-tu un problème ?
C'est OK j'ai compris. ça ne fonctionnait parce que j'étais derrière le proxy de mon entreprise. Merci.
Sur la page de presentation par exemple. Je saisie le "print("Hello World")", je clique sur run et rien. Dans quelle partie de l'écran suis-je censé avoir le résultat ?
Merci d'avance.
Sur la page de présentation par exemple. Dans quel zone de l'écran est-ce que je suis censé avoir le résultat ?
Bonjour,
Je suis actuellement dans la manipulation d'images, j'arrive a faire des choses basiques pour le moment. Mais je suis bloqué au fondu de deux images, je ne comprends pas comment mettre 60% de l'image 1 et 40% de l'image 2.
Merci d'avance pour votre aide !
Lors d'un freinage d'urgence, la distance d'arrêt d'une voiture lancée à une vitesse de v km/h se décompose en deux parties :
La distance de réaction, en mètres, qui est égale à la distance parcourue par le véhicule pendant une seconde c'est à dire à v/3,6
La distance de freinage, en mètres qui est égale à 0,0065v² si les pneux et la chaussée sont en bon état.
1) Recopier et complèter la fonction distance_reaction pour qu'elle renvoie la distance de réaction:
def distance_reaction (v):
return.....
2) recopier puis complèter la fonction distance_freinage pour qu'elle renvoie la distance de freinage:
def distance_freinage (v):
return....
3) On considère la fonction distance_arret (v):
return distance_reaction(v)+distance_freinage(v)
Bonjour,
Merci pour votre aide!
Comment modifie-t-on votre code sur la chronophotographie dans la cas d'une chute verticale en tenant compte seulement des valeurs Y, pour tracer la vitesse suivant Y ?
Cordialement
MEL KHOLDI
Bonjour j'ai un problème avec l'exercice 3 du 11/135. Voila mon code:
texte = "Lorem [...] nunc."
for i in texte:
if i=="e":
print(texte[I])
mais ca ne marche pas je me retrouve toujours avec l'erreur "string indices must be integers". Pouvezvous m'aider?
merci d'avance!
En vous inspirant des exemples donnés dans la partie cours, écrire un programme qui affiche le plus petit entier n tel que 4 + 5 + 6 + ... + n dépasse 12345.
Voilà mon programme:
n = 4
somme = 0
while somme <= 12435:
somme = somme +n
n = n+1
print(n)
Je ne vois pas pourquoi le résultat qui sort n'est pas le bon
Salut, la solution à l'exercice est 157. Avec ton programme, nous obtenons 159. Essayons de voir pourquoi.
Déjà petite erreur ce n'est pas 12435 mais 12345 dans la condition d’arrêt. Ça va te donner un +1 en trop dans la valeur finale de n.
Dans un premier temps, nous pouvons voir que tu modifies somme puis tu augmentes n à la fin, or comme tu contrôles la valeur de somme cela signifie que quand tu auras atteins la condition d’arrêt, ton n aura un en trop.
exemple plus petit pour bien comprendre :
Pour somme <10 :
j'aurai somme = 0+4
n=5
Contrôle de somme =4
somme = 4+5
n = 6
Contrôle de somme =9
somme = 9+6
n = 7
Contrôle de somme = 15 Je me stop sauf que je renvoie n=7 alors que la bonne réponse est 6.
Quand on fait un while, il faut s'assurer que les instructions des valeurs contrôlées et retournées soient dans le bonne ordre. (ou alors tu revoie n-1 à la fin sinon, mais je ne te le conseille pas parce que dans un algo plus complexe ca peut te casser les pieds ce genre de chose. Mieux vaut obtenir la valeur exacte de n directement).
Donc je corrige dans un premier temps le code pour le remettre dans l'ordre.
n=4
somme = 0
while somme <=12345:
n=n+1
somme=somme+n
print(n)
SAUF qu'on voit un nouveau problème la, le premier n ajouté à somme est 5 et non 4. Une solution possible, est que tu dois donc ajouter en amont à somme 4 avant ton while.
n=4
somme = n
while somme <=12345:
n+=1
somme += n
print(n)
Tu peux aussi comme dans la correction du site commencer n par 3.
Voila, bonne journée.
PS : si tu as besoin de vérifier que la réponse 157 est juste, tu peux le voir avec ce code (Attention la premier boucle s’arrête à 156 et la deuxième à 157 car la dernière valeur d'un range est exclus.):
print(sum([i for i in range(4,157)]))#Retour 12240
print(sum([i for i in range(4,158)])) #Retour 12397
from math import *exercice 1 page 5
def mon_programme(n):
#Ne pas toucher ce qui précède
#Les valeurs pour les variables en entrée seront automatiquement données
#Ecrire ci-dessous en n'oubliant pas d'indenter
pass
# Appuyer sur Run pour recevoir les instructions
a=pi+n
print(a)
b=sqrt(a)
print(b)
c=round(b,5)
print (c)
d=cos(a/2)
print(d)
e=round(d,5)
print(e)
f=a+c+e
print(f)
reponce
je trouve cette séries d'exercice un petit peu dur : (
Bonjour
j'aimerais svp, avoir une idée des réponses qui s'affichent pour l'exercice 3 page 11 (chaines de caractères) et éventuellement le piège à éviter !!
Merci
Salut,
Le but de l'exercice est de boucler sur le texte, pour lire chaque caractère. A chaque tour de boucle, si ton caractère est un e, tu dois print l'index (la position du caractère).
La forme du retour attendu est donc par exemple
3
9
etc...
Toujours à la ligne puisque ce sont des print différents qui sont fait dans une condition elle-même dans une boucle.
Si tu as du mal avec la notion de position(d'index).
Une chaine de caractères peut être vu comme un tableau de caractères avec le premier caractère qui est à la position 0, le deuxième à 1 etc...
ex : "La vie est belle."
L est à la position 0
a est à la position 1
l'espace entre la et vie est à la position 2 (les espaces sont considérés comme des caractères comme les autres).
v à la position 3 etc...
Donc pour cette phrase,
les réponses attendues seraient
5
7
12
15
Donc tu dois faire une boucle qui passe sur chaque caractère et à chaque tour faire une condition if pour voir si le caractère est un "e". Si oui tu print sa position.
Bonne journée.
tres simple
j'ai beaucoup aimé ce site même si trouve que toutes les réponses sont difficiles
les leçons sont très bien mais les exercices sont trop vagues et incompréhensible pour une personne qui vient de commencer
Bonjour
Je ne parviens pas à trouver la solution à la problématique suivante : En s'inspirant des programmes précédents, créez un programme qui affiche, pour chaque entier entre 0 et 100, son carré.
Pourriez-vous m'aider ?
Merci
Salut,
Essayons de décortiquer l’énoncé.
"Un programme qui affiche" -> Je vais avoir besoin de print quelque chose. Fonction print dans ma boite à outil.
"Pour chaque entier entre 0 et 100" -> Je dois boucler sur 101 valeurs (0 compris), Donc je dois utiliser une boucle. Boucle for dans ma boitte à outil.
"son carré" -> Dans les premiers cours, j'ai appris que je pouvais écrire pour une variable x, son carré de plusieurs façons : x*x ou x**2 . Carré dans ma boite à outil.
La on a tout ce dont on a besoin. Je t'écris le pseudocode et à toi de changer les parties avec la bonne syntaxe.
boucle de 0 à 100
affichage(carré de la variable qui est nommée dans la boucle)
Correction possible :
for i in range(101) :
print(i**2)
Bonne journée
probleme exercice 1 sur la 9eme page
def ma_fonction(liste):
if liste != 0 :
return "0 non trouvé"
break
else :
return "0 trouvé"
on cherche un élément 0 dans la liste, donc on utilise for e in liste: ...
Bonjour à tous !
Je n'arrive pas à faire l'exercice 2 de la page 10, est-il possible d'avoir de l'aide ?
Merci !
Du coup j'y suis arrivée ! La consigne est très mal écrite selon moi et très mauvais exemple puisqu'on doit partir de 0 et pas de 4.
Voici mon code :
n = 0
sum = 0
while sum < 12345:
n += 1
sum += n
print(n)
bonjour
je suis bloqué a l’exercice 1 de la page 4
qqun a la reponse de tout le chap 5