Python

Chaînes de caractères
A temps perdu...

Dans un conte américain, huit petits canetons s’appellent respectivement : Jack, Kack, Lack, Mack, Nack, Oack, Pack et Qack.

Écrire un script en trois lignes qui génère tous ces noms à partir des deux chaînes de caractères suivantes :

debuts = ‘JKLMNOP’ et fin = ‘ack’

  • Piste ?
  • Solution ?

Utiliser une boucle for.


					debuts,fin='JKLMNOP','ack'
					for lettre in debuts:
						print(lettre+fin)	# + au lieu de , pour supprimer l'espace intempestif
					

Écrire un programme qui :

  1. demande à l'utilisateur d'entrer un mot,
  2. puis un entier ayant un nombre de chiffres égal au nombre de lettres du mot
  3. puis affiche des lignes de caractères sur le modèle de l'exemple ci-dessous.

Si l'utilisateur entre le mot 'python' puis 213142. Le programme devra afficher


				pp
				y
				ttt
				h
				oooo
				nn
				

Les chiffres de l'entier entré donneront donc le nombre de répétitions de la lettre ayant le même rang dans le mot.

Amélioration : Faites en sorte que le programme vérifie que l'entier est conforme.

  • Une piste ?
  • Solution
  • Amélioration

On doit parcourir la chaîne, et rappelez-vous, on peut utiliser le symbole * avec une chaîne de caractères !

ch=input('Entrez un mot : ')
nb=input('Entrez un entier ayant le même nombre de chiffres que le mot : ')

for j in range(0,len(ch)):
	print(ch[j]*int(nb[j]))

Un simple if devait suffire...