You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
998 B
40 lines
998 B
#!/usr/bin/env python3 |
|
# -*- coding: utf-8 -*- |
|
|
|
from typing import List, Union |
|
from random import shuffle |
|
|
|
|
|
MIN = -1000 |
|
MAX = 1000 |
|
GESTE = 3 |
|
FORME = 5 |
|
|
|
|
|
def generate_numbers_list(mini: int, maxi: int) -> List[int]: |
|
"""Generate a list of int between mini and maxi""" |
|
return list(range(mini, maxi + 1)) |
|
|
|
|
|
def randomise_with_iterator(list_from: List[int]) -> int: |
|
"""Copy and randomize a list to an iterator""" |
|
randomized = list_from.copy() |
|
shuffle(randomized) |
|
while randomized: |
|
yield randomized.pop() |
|
|
|
|
|
def gestformation(number: int) -> Union[str, int]: |
|
"""Transform a number to a string depends on modularity""" |
|
if number % GESTE == 0 and number % FORME == 0: |
|
return "GestForm" |
|
elif number % FORME == 0: |
|
return "Forme" |
|
elif number % GESTE == 0: |
|
return "Geste" |
|
return number |
|
|
|
|
|
if __name__ == "__main__": |
|
list_int = generate_numbers_list(MIN, MAX) |
|
[print(gestformation(n)) for n in randomise_with_iterator(list_int)]
|
|
|