123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- """Main module."""
- def dec2banana(num, dictstart=0, shiftend=0, minlength=0, dictionary=None):
- if dictionary is None:
- dictionary = [list("bcdfglmnprstvz"), list("aeiou")]
- numdict = len(dictionary)
- v = num
- st = ""
- length = 0
- idx = (numdict - 1 + dictstart + shiftend) % numdict
- while not (v == 0 and idx == (numdict - 1 + dictstart) % numdict and length >= minlength):
- r = v % len(dictionary[idx])
- v = int(v / len(dictionary[idx]))
- st = dictionary[idx][r] + st
- idx = (idx - 1) % numdict
- length += 1
- return st
- def banana2dec(banana, dictstart=0, shiftend=0, dictionary=None):
- # defaults
- if dictionary is None:
- dictionary = [list("bcdfglmnprstvz"), list("aeiou")] # , list("123456")
- numdict = len(dictionary)
- if (len(banana) - shiftend) % numdict != 0:
- return "Banana non valida"
- v = 0
- for i in range(len(banana)):
- r = (numdict + i + dictstart) % numdict
- try:
- v = v * len(dictionary[r]) + dictionary[r].index(banana[i])
- except (ValueError, KeyError) as e:
- return "Carattere non valido in posizione", i + 1
- return v
- def bananarandom(dictstart=0, shiftend=0, minlength=6, dictionary=None):
- import random
- # defaults
- if dictionary is None:
- dictionary = [list("bcdfglmnprstvz"), list("aeiou")]
- numdict = len(dictionary)
- st = ""
- length = 0
- i = (numdict - 1 + dictstart + shiftend) % numdict
- while not (i == (numdict - 1 + dictstart) % numdict and length >= minlength):
- r = random.randint(0, len(dictionary[i]) - 1)
- st = dictionary[i][r] + st
- i = (i - 1) % numdict
- length += 1
- return st
- def isbanana(banana, dictstart=0, shiftend=0, dictionary=None):
- # defaults
- if dictionary is None:
- dictionary = [list("bcdfglmnprstvz"), list("aeiou")] # , list("123456")
- numdict = len(dictionary)
- if (len(banana) - shiftend) % numdict != 0:
- return False
- for i in range(len(banana)):
- r = (numdict + i + dictstart) % numdict
- if banana[i] not in dictionary[r]:
- return False
- return True
- if __name__ == "__main__":
- print("Ciao sono la libreria banana")
|