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

#!/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)]