Différences entre les versions de « Utilisateur:Thomas »

De {}
Aller à la navigation Aller à la recherche
Ligne 132 : Ligne 132 :
 
</source>
 
</source>
  
Le programme de Léna inverse.py
+
Le programme de Léna (inverse.py)
  
 
<source lang="python">
 
<source lang="python">
Ligne 138 : Ligne 138 :
 
#coding: utf-8
 
#coding: utf-8
  
'''inverser 1er et dernier mot de chaque vers + '''
+
'''inverser 1er et dernier mot de chaque vers + inverser la première et la dernière lettre du premier mot'''
  
from time import sleep
+
#ouvrir le fichier
import re
 
 
f = open("poeme.txt", "r")
 
f = open("poeme.txt", "r")
  
 
poeme = f.read()
 
poeme = f.read()
#poeme = re.sub('\n', "", poeme)
 
  
 +
#décomposer le tableau en lignes
 
lines = poeme.splitlines()
 
lines = poeme.splitlines()
 
for line in lines:
 
for line in lines:
 
     mots = line.split(" ")
 
     mots = line.split(" ")
  
 +
#inverser la dernière lettre et la première lettre du dernier mot (qui deviendra le premier ensuite)
 +
    last_mot = mots[len(mots)-1]
 +
    last_lettre = last_mot[0]
 +
    last_mot = last_mot.replace(last_mot[0], last_mot[len(last_mot)-1], 1)
 +
    #petite technique : utiliser [:x] pour afficher toute la chaîne/le tableau jusqu'à l'indice donné
 +
    #fonctionne aussi avec [x:] pour afficher tout après l'indice donné
 +
    last_mot = last_mot[:len(last_mot)-1] + last_lettre
 +
 +
#inverser le premier et le dernier mot de chaque ligne
 
     momo = mots[0]
 
     momo = mots[0]
     mots[0] = mots[len(mots)-1]
+
     mots[0] = last_mot
 
     mots[len(mots)-1] = momo
 
     mots[len(mots)-1] = momo
  
 
     new_line = str()
 
     new_line = str()
  
 +
#reconstituer la ligne youpi
 
     for mot in mots:
 
     for mot in mots:
        new_line = new_line + " " + mot
+
        new_line = new_line + " " + mot
  
 
     print(new_line)
 
     print(new_line)

Version du 24 octobre 2019 à 08:35

Poésie binaire

Poème de 6 vers, de 4 pieds chacun (en binaire ASCII):

100110011001011110011010000011001011100100110100111101001101001110111111011101110011000110101000101001100110010101000001000011110000111011101100001111000011001010100010000110111011010100111110000111101101100001110100111001011101110111010001000001100100110111111011101101110110010100011011110101110111011001010100000110110111010011110011111001111010011101111110111001000000111010000110111101011101110010000011001111110010110000111011101100100010000011100101101111110110111000011101110000110111101001110010110000111011101110011110011011011111110010110110111010011110011111010011001010101110

La traduction :

Les éditions

"Le Canapé"

m'avaient donné

une mission :

un grand roman

transformiste

Bonjour Python

Opérations sur les chaînes de caractères

Créer un programme qui agit sur le poème écrit au premier cours.

Je voudrais créer un programme qui transforme les "a" en "aaaaah",

(la référence en vidéo -> [1])

et qui transforme une lettre sur 2 en Capitale, pour donner un style ado en train de muer.


Ou alors un programme qui rajoute "xx" à la fin des mots qui finissent par "a", comme dans "chanmax" et qui rajoute "ss" à la fin des mots qui terminent par "s" comme dans "cooloss". Si le mot modifié se trouve en fin de vers, alors on rajoute une ligne intercalaire qui fait "Cooloss !" ou "Chanmax !" selon la fin du vers précédent (et qui fait "Stylé !" à la fin des vers qui se terminent par "é".

OU ALORS le programme ultime qui rajoute les chanmax, cooloss et stylé et ensuite demande à l'utilisateur s'il.elle veut prendre un lysopaïne, qui transforme les a en aaaah. Si oui, alors exécuter la première partie (changer les a en aaaah et alterner capitales et bas de casse).

Le programme lysopaïne.py :

#!/usr/bin/env python
# -*- coding: utf-8 -*-

print("Tu veux un lysopaine ?")
reponse = raw_input()
reponse = str(reponse.lower())

if reponse == "oui" :
    import re

    f= open("poeme.txt", "r+")

    poeme = f.read()

    poeme = poeme.lower()

    #transforme les a en aaaah
    lyso = re.sub("a", "aaaah", poeme)

    # boucle qui imprime 1 caractère sur 2 en capitale
    i = 1
    while i < len(lyso):
        print lyso[i-1].upper(),
        print lyso[i].lower(),
        i += 2

    f.close()

else:
    print("Ben tant pis pour toi.")

Le programme de Violette (loup-garou.py):

#!/usr/bin/env python
#coding: utf-8
'''Un programme qui
- demande le nom de l'utilisateur qui sera enregistré comme nom de poète
- rajoute aouuuu quand il y a a lettre a
- rajoute grrrrrrrrrr quand il y a la lettre g '''

print("Quel est ton nom, poète.esse ?")
nom = raw_input()

import re

f= open("poeme.txt", "r+")

poeme = f.read()

#poeme = re.sub('a', "aouuuu", poeme)
poeme = re.sub('([aA])', r"\1ouuuu", poeme)
poeme = re.sub('([gG])', r"\1rrrrrrrrrr", poeme)

nom = re.sub('([aA])', r"\1ouuuu", nom)
nom = re.sub('([gG])', r"\1rrrrrrrrrr", nom)
print(poeme)
print("Signé, " + nom + " le loup grrrrrrrrrraouuuurou")

f.close()

Le programme de Stijn (pluie.py):

#!/usr/bin/env python
# -*- coding: utf-8 -*-

'''demander est ce qu’il pleut? oui: changer tous les a e i o u -> ! non: print chance '''

print("Est-ce qu'il pleut ?")
print("(oui/non)")
pluie = str(raw_input())
pluie = pluie.lower()

import re

f= open("poeme.txt", "r+")
poeme = f.read()

if pluie == "oui":
    oui = re.sub('a|e|i|o|u', "!", poeme, flags=re.IGNORECASE)
    print(oui)
    print("Quel temps pourri...")
else:
    print("Chouette alors !")

f.close()

Le programme de Léna (inverse.py)

#!/usr/bin/env python
#coding: utf-8

'''inverser 1er et dernier mot de chaque vers + inverser la première et la dernière lettre du premier mot'''

#ouvrir le fichier
f = open("poeme.txt", "r")

poeme = f.read()

#décomposer le tableau en lignes
lines = poeme.splitlines()
for line in lines:
    mots = line.split(" ")

#inverser la dernière lettre et la première lettre du dernier mot (qui deviendra le premier ensuite)
    last_mot = mots[len(mots)-1]
    last_lettre = last_mot[0]
    last_mot = last_mot.replace(last_mot[0], last_mot[len(last_mot)-1], 1)
    #petite technique : utiliser [:x] pour afficher toute la chaîne/le tableau jusqu'à l'indice donné
    #fonctionne aussi avec [x:] pour afficher tout après l'indice donné
    last_mot = last_mot[:len(last_mot)-1] + last_lettre

#inverser le premier et le dernier mot de chaque ligne
    momo = mots[0]
    mots[0] = last_mot
    mots[len(mots)-1] = momo

    new_line = str()

#reconstituer la ligne youpi
    for mot in mots:
        new_line = new_line + " " + mot

    print(new_line)

f.close()