Browse Source

update

master
Albakham 4 months ago
parent
commit
60a5db48f0
Signed by: albakham <dev@geber.ga> GPG Key ID: 6CE390277A579221
26 changed files with 343 additions and 4 deletions
  1. +36
    -0
      6174.py
  2. +1
    -0
      FUN/5_19/histoire_1.txt
  3. +43
    -0
      FUN/5_19/histoire_2.txt
  4. +1
    -0
      FUN/5_20/Zola.txt
  5. +1
    -0
      FUN/5_22/wc1.txt
  6. +0
    -0
      FUN/upylab_1_1.py
  7. +0
    -0
      FUN/upylab_2_1.py
  8. +0
    -0
      FUN/upylab_2_2.py
  9. +0
    -0
      FUN/upylab_2_3.py
  10. +0
    -0
      FUN/upylab_2_4.py
  11. +4
    -4
      FUN/upylab_4_10.py
  12. +0
    -0
      FUN/upylab_5_11.py
  13. +13
    -0
      FUN/upylab_5_19.py
  14. +11
    -0
      FUN/upylab_5_20.py
  15. +19
    -0
      FUN/upylab_5_21.py
  16. +26
    -0
      FUN/upylab_5_22.py
  17. +17
    -0
      FUN/upylab_5_23.py
  18. +12
    -0
      FUN/upylab_5_24.py
  19. +11
    -0
      FUN/upylab_5_25.py
  20. +15
    -0
      FUN/upylab_5_26.py
  21. +8
    -0
      FUN/upylab_5_27.py
  22. +22
    -0
      FUN/upylab_5_28.py
  23. +55
    -0
      FUN/upylab_5_29.py
  24. +1
    -0
      FUN/upylab_5_4.py
  25. +22
    -0
      FUN/upylab_6_1.py
  26. +25
    -0
      FUN/upylab_6_2.py

+ 36
- 0
6174.py View File

@@ -0,0 +1,36 @@
#! /usr/bin/env python3
import random

def generer(n):
chiffres = [random.randint(0, 9) for _ in range(n)]
if len(set(chiffres)) == 1:
chiffres[0] = (chiffres[0]+1) % 10

return chiffres

def liste_vers_int(chiffres, decroissant):

s_liste = ''.join(str(c) for c in sorted(chiffres, reverse=decroissant))
return(int(s_liste))

def kaprekar():

chiffres = generer(4)
print(chiffres)

a = liste_vers_int(chiffres, decroissant=True)
b = liste_vers_int(chiffres, decroissant=False)

step = 1

while a-b != 6174:
step += 1
chiffres = [int(c) for c in str(a-b)]

a = liste_vers_int(chiffres, decroissant=True)
b = liste_vers_int(chiffres, decroissant=False)

print(f'{step}:{a-b}')
return step

kaprekar()

+ 1
- 0
FUN/5_19/histoire_1.txt View File

@@ -0,0 +1 @@
Si la {0} de {1} est la {2} de ma {0} qui suis-je pour {1} ?

+ 43
- 0
FUN/5_19/histoire_2.txt View File

@@ -0,0 +1,43 @@
J'ai l'idée, me dit-il enfin, j'ai l'idée que ce n'est peut-être pas aussi loin que nous l'imaginions... {0} a supprimé sur mon plan toute une portion de la route que j'avais indiquée. Cela veut dire, peut-être, que la jument a fait, pendant mon sommeil, un long détour inutile...

J'étais à moitié assis sur le coin d'une grande table, un pied par terre, l'autre ballant, l'air découragé et désoeuvré, la tête basse.

Pourtant, dis-je, au retour, dans la berline, ton voyage a duré toute la nuit.

- Nous étions partis à minuit, répondit-il vivement. On m'a déposé à quatre heures du matin, à environ six kilomètres à l'ouest de {1}, tandis que j'étais parti par la route de La Gare à l'est. Il faut donc compter ces six kilomètres en moins entre {1} et le pays perdu.

Vraiment, il me semble qu'en sortant du bois des Communaux, on ne doit pas être à plus de deux lieues de ce que nous cherchons.

- Ce sont précisément ces deux lieues-là qui manquent sur ta carte.

- C'est vrai. Et la sortie du bois est bien à une lieue et demie d'ici, mais pour un bon marcheur, cela peut se faire en une matinée..."

A cet instant {2} arriva. Il avait une tendance irritante à se faire passer pour bon élève, non pas en travaillant mieux que les autres, mais en se signalant dans des circonstances comme celle-ci.

Je savais bien, dit-il triomphant, ne trouver que vous deux. Tous les autres sont partis pour le bois des Communaux. En tête : {3} qui connaît les nids.

Et, voulant faire le bon apôtre, il commença à raconter tout ce qu'ils avaient dit pour narguer le Cours, M. Seurel et nous, en décidant cette expédition.

S'ils sont au bois, je les verrai sans doute en passant, dit {4}, car je m'en vais aussi. Je serai de retour vers midi et demi.

{2} resta ébahi.

Ne viens-tu pas ? me demanda {5}, s'arrêtant une seconde sur le seuil de la porte entr'ouverte ? ce qui fit entrer dans la pièce grise, en une bouffée d'air tiédi par le soleil, un fouillis de cris, d'appels, de pépiements, le bruit d'un seau sur la margelle du puits et le claquement d'un fouet au loin.

Non, dis-je, bien que la tentation fût forte, je ne puis pas, à cause de {6}. Mais hâte-toi. Je t'attendrai avec impatience.

Il fit un geste vague et partit, très vite, plein d'espoir.

Lorsque {6} arriva, vers dix heures, il avait quitté sa veste d'alpaga noir, revêtu un paletot de pêcheur aux vastes poches boutonnées, un chapeau de paille et de courtes jambières vernies pour serrer le bas de son pantalon. Je crois bien qu'il ne fut guère surpris de ne trouver personne. Il ne voulut pas entendre {2} qui lui répéta trois fois que les gars avaient dit :

S'il a besoin de nous, qu'il vienne donc nous chercher !

Et il commanda :

Serrez vos affaires, prenez vos casquettes, et nous allons les dénicher à notre tour... Pourras-tu marcher jusque-là, François ?

J'affirmai que oui et nous partîmes.

Il fut entendu que {2} conduirait {6} et lui servirait d'appeau... C'est-à-dire que, connaissant les futaies où se trouvaient les dénicheurs, il devait de temps à autre crier à toute voix :

Hop ! Hola ! {7} ! {8} ! Où êtes-vous ?... Y en a-t-il ?... En avez-vous trouvé ?...

+ 1
- 0
FUN/5_20/Zola.txt View File

@@ -0,0 +1 @@
Et, sous ses pieds, les coups profonds, les coups obstinés des rivelaines continuaient. Les camarades étaient tous là, il les entendait le suivre à chaque enjambée. N'était-ce pas la Maheude, sous cette pièce de betteraves, l'échine cassée, dont le souffle montait si rauque, accompagné par le ronflement du ventilateur ? A gauche, à droite, plus loin, il croyait en reconnaître d'autres, sous les blés, les haies vives, les jeunes arbres. Maintenant, en plein ciel, le soleil d'avril rayonnait dans sa gloire, échauffant la terre qui enfantait. Du flanc nourricier jaillissait la vie, les bourgeons crevaient en feuilles vertes, les champs tressaillaient de la poussée des herbes. De toutes parts, des graines se gonflaient, s'allongeaient, gerçaient la plaine, travaillées d'un besoin de chaleur et de lumière. Un débordement de sève coulait avec des voix chuchotantes, le bruit des germes s'épandait en un grand baiser. Encore, encore, de plus en plus distinctement, comme s'ils se fussent rapprochés du sol, les camarades tapaient. Aux rayons enflammés de l'astre, par cette matinée de jeunesse, c'était de cette rumeur que la campagne était grosse. Des hommes poussaient, une armée noire, vengeresse, qui germait lentement dans les sillons, grandissant pour les récoltes du siècle futur, et dont la germination allait faire bientôt éclater la terre.

+ 1
- 0
FUN/5_22/wc1.txt View File

@@ -0,0 +1 @@
a2x!§t5

+ 0
- 0
FUN/upylab_1_1.py View File


+ 0
- 0
FUN/upylab_2_1.py View File


+ 0
- 0
FUN/upylab_2_2.py View File


+ 0
- 0
FUN/upylab_2_3.py View File


+ 0
- 0
FUN/upylab_2_4.py View File


+ 4
- 4
FUN/upylab_4_10.py View File

@@ -1,6 +1,7 @@
#! /usr/bin/env python3
#!/usr/bin/env python3

import random

PIERRE = 0
FEUILLE = 1
CISEAUX = 2
@@ -49,14 +50,13 @@ def manche(coup_o, coup_j, points):
print(coup_or, res, coup_jo, ':', points)
return points


s = int(input())
random.seed(s)
pnt = 0

for i in range(5):
coup_o = random.randint(0, 2)
coup_j = int(input("Entrez votre choix : "))
coup_j = int(input())
pnt = manche(coup_o, coup_j, pnt)

if pnt < 0:
@@ -64,4 +64,4 @@ if pnt < 0:
elif pnt == 0:
print("Nul")
else:
print("Gagné")
print("Gagné")

+ 0
- 0
FUN/upylab_5_11.py View File


+ 13
- 0
FUN/upylab_5_19.py View File

@@ -0,0 +1,13 @@
#! /usr/bin/env python3

nom = "5_19/"+input("Entrez l'emplacement du fichier : ")

liste = []
into = ''

while into != "FINI":
into = input("Entrez les noms des personnages : ")
liste.append(into)

for ligne in open(nom):
print(ligne.format(*liste), end="")

+ 11
- 0
FUN/upylab_5_20.py View File

@@ -0,0 +1,11 @@
#! /usr/bin/env python3


def replace(in_path, out_path, pattern, subst):
file = open(in_path)
res = ''

for line in file:
res += line.replace(pattern, subst)
sortie = open(out_path, "w")
sortie.write(res)

+ 19
- 0
FUN/upylab_5_21.py View File

@@ -0,0 +1,19 @@
#! /usr/bin/env python3


def liste_des_mots(fichier):
f = open(fichier, encoding='utf8')
res = []
to_replace = ['-', "'", '"', '?', '!', ':', ';','.', ',', '*', '=', '(', ')', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0']

for line in f:
for e in to_replace:
line = line.replace(e, ' ')
for mot in line.split():
mot = mot.lower()
res.append(mot)
res = list(set(res))
res.sort()
return res

print(liste_des_mots("5_20/Zola.txt"))

+ 26
- 0
FUN/upylab_5_22.py View File

@@ -0,0 +1,26 @@
#! /usr/bin/env python3


def wc(nomFichier):
f = open(nomFichier)
mots = ''
nb_c = nb_l = nb_m = 0

for ligne in f:
nb_l += 1

for c in ligne:
nb_c += 1

if not c.isalnum():
c = ' '
mots += c

liste = mots.split()
for m in liste:
nb_m += 1

res = (nb_c, nb_m, nb_l)
return res

print(wc('5_22/wc1.txt'))

+ 17
- 0
FUN/upylab_5_23.py View File

@@ -0,0 +1,17 @@
#! /usr/bin/env python3


def init_mat(m, n):
res= [[0]*n for i in range(m)]
res[0][0] = 2
return res

print(init_mat(2, 3))

def init_pasmat(m, n):
res= [[0]*n]*m
res[0][0] = 2
return res


print(init_pasmat(2, 3))

+ 12
- 0
FUN/upylab_5_24.py View File

@@ -0,0 +1,12 @@
#! /usr/bin/env python3


def print_mat(M):
for a in M:
res = [b for b in a]
print(*res)

print_mat([[1, 2], [3, 4], [5, 6]])

#ma_matrice = eval(input())
#print_mat(ma_matrice)

+ 11
- 0
FUN/upylab_5_25.py View File

@@ -0,0 +1,11 @@
#! /usr/bin/env python3


def trace(M):
res = 0

for i in range(len(M)):
res += M[i][i]
return res

print(trace([[1, 2, 3], [4, 5, 6], [7, 8, 9]]))

+ 15
- 0
FUN/upylab_5_26.py View File

@@ -0,0 +1,15 @@
#! /usr/bin/env python3


def antisymetrique(M):
res = True
for i in range(len(M)):
for e in range(len(M)):
if M[i][e] != -M[e][i]:
res = False

return res
print(antisymetrique([[0, 1, 1], [-1, 0, 1], [-1, -1, 0]]))
print(antisymetrique([[0, -10, -6, -1], [10, 0, -10, 0], [6, 10, 0, -5], [1, 0, 5, 0]]))
print(antisymetrique([[0, 1], [1, 0]]))
print(antisymetrique([[1, -2], [2, 1]]))

+ 8
- 0
FUN/upylab_5_27.py View File

@@ -0,0 +1,8 @@
#! /usr/bin/env python3


def symetrie_horizontale(A):
A.reverse()
return A

print(symetrie_horizontale([[1, 2, 3], [4, 5, 6], [7, 8, 9]]))

+ 22
- 0
FUN/upylab_5_28.py View File

@@ -0,0 +1,22 @@
#! /usr/bin/env python3


def placer_pion(couleur, colonne, grille):

res = False

for i in range(6):
if grille[i][colonne] == 'V':
grille[i][colonne] = couleur
res = True
break

return(res, grille)


print(placer_pion("R", 3, [['V', 'V', 'V', 'J', 'V', 'V', 'V'],
['V', 'V', 'V', 'V', 'V', 'V', 'V'],
['V', 'V', 'V', 'V', 'V', 'V', 'V'],
['V', 'V', 'V', 'V', 'V', 'V', 'V'],
['V', 'V', 'V', 'V', 'V', 'V', 'V'],
['V', 'V', 'V', 'V', 'V', 'V', 'V']]))

+ 55
- 0
FUN/upylab_5_29.py View File

@@ -0,0 +1,55 @@
#! /usr/bin/env python3

def gagnant(grille):

gagnant = None
# Verification des lignes
colones = [""]*6
for n in range(6):
colones[n] = colones[n].join(grille[n])
for e in colones:
if "RRRR" in e:
gagnant = "R"
if "JJJJ" in e:
gagnant = "J"

# Verification des lignes
lignes = [""]*7
for element in colones:
for n in range(7):
lignes[n] = lignes[n] + element[n]
for e in lignes:
if "RRRR" in e:
gagnant = "R"
if "JJJJ" in e:
gagnant = "J"

# Verification des diagonales
for x in range(4):
for y in range(3):
diag = ""
for xx in range(4):
diag = diag+grille[y+xx][x+xx]
if diag == "RRRR":
gagnant = "R"
elif diag == "JJJJ":
gagnant = "J"
for x in range(3, 7):
for y in range(3):
diag = ""
for xx in range(4):
diag = diag+grille[y+xx][x-xx]
if diag == "RRRR":
gagnant = "R"
elif diag == "JJJJ":
gagnant = "J"

return gagnant


print(gagnant([['V', 'V', 'V', 'J', 'R', 'R', 'J'],
['V', 'V', 'V', 'R', 'J', 'R', 'R'],
['V', 'V', 'V', 'V', 'R', 'J', 'J'],
['V', 'V', 'V', 'V', 'V', 'V', 'J'],
['V', 'V', 'V', 'V', 'V', 'V', 'V'],
['V', 'V', 'V', 'V', 'V', 'V', 'V']]))

+ 1
- 0
FUN/upylab_5_4.py View File

@@ -12,3 +12,4 @@ def plus_grand_bord(w):


print(plus_grand_bord("abdabda"))
print(plus_grand_bord("ababab"))

+ 22
- 0
FUN/upylab_6_1.py View File

@@ -0,0 +1,22 @@
#! /usr/bin/env python3


def calcul_prix(produits, catalogue):
"""Retourne le montant des achats de monsieur Germain
paramètres :
- produits : dictionnaire avec, comme clés, les produits, et en valeurs, la quantité
- catalogue : dictionnaire contenant tous les produits associés avec leur prix en valeur
"""

prix = 0

for p in produits:
prix += produits[p] * catalogue[p]

return prix

print(
calcul_prix({"brocoli":2, "mouchoirs":5, "bouteilles d'eau":6},
{"brocoli":1.50, "bouteilles d'eau":1, "bière":2,
"savon":2.50, "mouchoirs":0.80})
)

+ 25
- 0
FUN/upylab_6_2.py View File

@@ -0,0 +1,25 @@
#! /usr/bin/env python3

import operator

def top_3_candidats(moyennes):
"""Retourne un tuple contenant les noms des trois meilleurs candidats,
par ordre décroissant de leurs moyennes
- moyennes : dictionnaire contenant comme clés les noms des candidats
et comme valeurs la moyenne que chacun a obtenue
"""
liste = []
note = 0

for _ in range(3):
maxi = max(moyennes.items(), key=operator.itemgetter(1))[0]
del moyennes[maxi]
liste += [maxi]

return tuple(liste)

print(
top_3_candidats({'Candidat 7': 2, 'Candidat 2': 38, 'Candidat 6': 85,
'Candidat 1': 8, 'Candidat 3': 17, 'Candidat 5': 83,
'Candidat 4': 33})
)

Loading…
Cancel
Save