Source code for randword.rand_letter
from string import ascii_letters, digits
from random import choice
from typing import Optional, List, Union
[docs]def sequence(count: Optional[int] = None,
length: int = 8) -> Union[str, List[str]]:
'''
Returns a random sequence consisting of ASCII symbols and digits
or a list of a random sequences
Args:
count (int, optional): The number of sequances to be
generated. Defaults to `None`
length (int, optional): The length of the sequence.
Defaults to `8`
Returns:
Union[str, List[str]]: The sequence if `count` is `None` or a list of sequences if `count` is not `None`
'''
chars = ascii_letters + digits
if count:
sequences = []
for _ in range(count):
sequences.append(''.join(choice(chars) for _ in range(length)))
return sequences
else:
return ''.join(choice(chars) for _ in range(length))
[docs]def letter(count: Optional[int] = None) -> Union[str, List[str]]:
'''
Returns a random ASCII letter or a list of them
Args:
count (int, optional): The number of letters to be
generated. Defaults to `None`
Returns:
Union[str, List[str]]: An ASCII letter if `count` is `None` or a list of letters if `count` is not `None`
'''
if count:
letters = []
for _ in range(count):
letters.append(choice(ascii_letters))
return letters
else:
return choice(ascii_letters)
[docs]def digit(count: Optional[int] = None) -> Union[str, List[str]]:
'''
Returns a random digit
Args:
count (int, optional): The number of digits to be
generated. Defaults to `None`
Returns:
Union[str, List[str]]: A single digit if `count` is `None` or a list of digits if `count` is not `None`
'''
if count:
digits_lst = []
for _ in range(count):
digits_lst.append(choice(digits))
return digits_lst
else:
return choice(digits)
if __name__ == '__main__':
print(sequence())
print(letter())
print(digit())