Programme Python

Messages : 12

Enregistré le : 05 déc. 2015 18:11

Classe : PCSI

Programme Python

Message par Titirex » 05 déc. 2015 18:27

Bonjour,

J'ai deux exercices que je n'arrive pas à résoudre sur Python, pourriez vous m'aider s'il vous plait ?

Exercice 1:
Ecrire un script utilisant une boucle For ... in ... demandant d'entrer un nombre entier non nul et qui affiche ensuite tous les carrés de tous les entiers entre 0 et ce nombre.
Voici ce que j'ai réussit à faire pour l'instant:
n = int(input("Entrer un nombre entier non nul: "))
L = []
a = 0
for a in range(0,n+1):
L.append(a**2)
a = a+1
print(L)

le problème est que je voudrais que ce programme m'affiche les carrés compris entre 0 et n or ici il m'affiche les carrés allant de 0 à n ...



Exercice 2:
Ecrire un script demandant de rentrer votre nom de famille et qui vous renvoie votre nom de famille avec chaque lettre séparée par un underscore. Il faut utiliser une boucle While.

le problème est que je ne sais pas quoi mettre comme condition dans la boucle ...

J'ai néanmoins contourner le problème avec une boucle for:
n = input("Quel est ton nom ? ")
for i in n:
print(i,end="_")




Merci pour le futur coup de main

Messages : 15

Enregistré le : 21 nov. 2015 14:47

Classe : MP

Re: Programme Python

Message par Jerem' » 05 déc. 2015 18:38

Exercice 1 :
T'aurais pu mettre directement "in range(n)" mais peu importe
Sinon, il suffit de mettre une condition avant ton append (genre if a**2<=n)
Et tu peux même légèrement optimiser ton programme, en faisant en sorte que ta variable a n'aille pas jusqu'à n

Exercice 2 :
Sache que tout ce que tu peux faire avec une boucle for, tu pourras le faire avec une boucle while, d'habitude avec des compteurs
Ici, tu pourrais faire un truc genre :
i=0
while i<len(n) :
print(n,end="_")
i+=1

Messages : 12

Enregistré le : 05 déc. 2015 18:11

Classe : PCSI

Re: Programme Python

Message par Titirex » 05 déc. 2015 18:49

merci pour ta réponse Jerem', par contre je ne comprends pas à quoi correspond i+=1 ?

Messages : 15

Enregistré le : 21 nov. 2015 14:47

Classe : MP

Re: Programme Python

Message par Jerem' » 05 déc. 2015 19:19

c'est pareil que d'écrire
i=i+1

i te sers donc de compteur

Messages : 12

Enregistré le : 05 déc. 2015 18:11

Classe : PCSI

Re: Programme Python

Message par Titirex » 05 déc. 2015 19:38

Ah d'accord j'ai compris :)
merci Jerem' tu m'as beaucoup aidé ;)

Messages : 15

Enregistré le : 21 nov. 2015 14:47

Classe : MP

Re: Programme Python

Message par Jerem' » 05 déc. 2015 19:40

Je te conseille http://www.france-ioi.org/
C'est pour les lycéens normalement, mais comme tu as l'air de débuter, ça peut pas faire de mal.
C'est simple, amusant, et parfait pour le temps libre (bah oui, quoi de mieux que de se reposer productivement :mrgreen: )

Messages : 470

Enregistré le : 27 févr. 2013 16:45

Classe : ENVT

Re: Programme Python

Message par loupi » 05 déc. 2015 19:47

pour l'exo 2, tu peux faire un truc simple, du style :

nom=input("Quel est ton nom ? ")
nom_=""
for i in range (len(nom)) : nom_+=nom+"_"
print(nom_[:-1])

Messages : 15

Enregistré le : 21 nov. 2015 14:47

Classe : MP

Re: Programme Python

Message par Jerem' » 05 déc. 2015 19:49

Je vois pas en quoi c'est plus simple que ce qu'il avait fait au départ...

Messages : 470

Enregistré le : 27 févr. 2013 16:45

Classe : ENVT

Re: Programme Python

Message par loupi » 05 déc. 2015 20:03

Jerem' a écrit :Je vois pas en quoi c'est plus simple que ce qu'il avait fait au départ...
ça permet d'éviter de rajouter un if (qui n'y est d'ailleurs pas dans sa solution) pour ne pas imprimer le dernier underscore, ce qui est le cas avec le print(n,end="_") dans la boucle.

Messages : 15

Enregistré le : 21 nov. 2015 14:47

Classe : MP

Re: Programme Python

Message par Jerem' » 05 déc. 2015 20:27

ah oui, bien vu pour le dernier underscore, ça m'avait échappé x)

Répondre