Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Michel Patin
Bloc2
Commits
56e3be3b
Commit
56e3be3b
authored
Jul 02, 2019
by
Thierry Sautiere
Browse files
Upload New File
parent
4c3f2331
Changes
1
Hide whitespace changes
Inline
Side-by-side
tris/listes.py
0 → 100644
View file @
56e3be3b
#!/usr/bin/python3
# -*- coding: utf-8 -*-
"""
:mod: module
:author: FIL - Faculté des Sciences et Technologies - Univ. Lille <http://portail.fil.univ-lille1.fr>_
:date: avril 2019
Diverses fonctions de création de listes d'entiers
"""
import
random
def
cree_liste_croissante
(
n
):
'''
:param n: (int) nombre d'entiers souhaités
:return: (list) liste des entiers de 0 à n - 1
:CU: aucune (si n <= 0, la liste obtenue est vide)
:Exemples:
>>> cree_liste_croissante(6)
[0, 1, 2, 3, 4, 5]
>>> cree_liste_croissante(0)
[]
'''
return
[
k
for
k
in
range
(
n
)]
def
cree_liste_decroissante
(
n
):
'''
:param n: (int) nombre d'entiers souhaités
:return: (list) liste des entiers de n - 1 à 0
:CU: aucune (si n <= 0, la liste obtenue est vide)
:Exemples:
>>> cree_liste_decroissante(6)
[5, 4, 3, 2, 1, 0]
>>> cree_liste_decroissante(0)
[]
'''
return
[(
n
-
1
-
k
)
for
k
in
range
(
n
)]
def
cree_liste_melangee
(
n
):
'''
:param n: (int) nombre d'entiers souhaités
:return: (list) liste des entiers de n - 1 à 0
:CU: aucune (si n <= 0, la liste obtenue est vide)
:Exemples:
>>> n = 6
>>> l = cree_liste_melangee(n)
>>> len(l) == n
True
>>> all(k in l for k in range(n))
True
'''
l
=
cree_liste_croissante
(
n
)
random
.
shuffle
(
l
)
return
l
def
cree_liste_melangee2
(
n
,
maxi
):
'''
:param n: (int) nombre d'entiers souhaités
:param maxi: (int) valeur maximale des entiers souhaités
:return: (list) liste de n entiers choisis au hasard entre 0 et maxi (inclus)
:CU: maxi >= 0 (si n <= 0, la liste obtenue est vide)
:Exemples:
>>> n = 6
>>> maxi = 10
>>> l = cree_liste_melangee2(n, maxi)
>>> len(l) == n
True
>>> all(0 <= k <= maxi for k in l)
True
'''
return
[
random
.
randrange
(
maxi
+
1
)
for
_
in
range
(
n
)]
if
__name__
==
'__main__'
:
import
doctest
doctest
.
testmod
(
optionflags
=
doctest
.
NORMALIZE_WHITESPACE
|
doctest
.
ELLIPSIS
,
verbose
=
False
)
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment