From b4d57b16cf8006e62fd35caaf79410a8575e252a Mon Sep 17 00:00:00 2001 From: itec78 Date: Mon, 31 Aug 2020 23:17:15 +0200 Subject: [PATCH] Added isbanana --- banana.py | 21 ++++++++++++++++++--- isbanana.py | 13 +++++++++++++ 2 files changed, 31 insertions(+), 3 deletions(-) create mode 100755 isbanana.py diff --git a/banana.py b/banana.py index c584776..9d85a0d 100755 --- a/banana.py +++ b/banana.py @@ -30,15 +30,16 @@ def banana2dec(banana, dictstart = None, shiftend = None, dictionary = None): 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: - print("Carattere non valido in posizione", i+1) - return() - + return("Carattere non valido in posizione", i+1) + return(v) def bananarandom(dictstart = None, shiftend = None, minlength = None, dictionary = None): @@ -63,7 +64,21 @@ def bananarandom(dictstart = None, shiftend = None, minlength = None, dictionary return(st) +def isbanana(banana, dictstart = None, shiftend = None, dictionary = None): + #defaults + if dictstart is None: dictstart = 0 + if shiftend is None: shiftend = 0 + 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) diff --git a/isbanana.py b/isbanana.py new file mode 100755 index 0000000..c4c9ddc --- /dev/null +++ b/isbanana.py @@ -0,0 +1,13 @@ +#!/usr/bin/env python3 +import argparse +import banana + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="Checks if string is banana") + parser.add_argument("banana", help="String to be checked") + parser.add_argument("--dictionary", help="Set dictionary", type=list, nargs='+') + parser.add_argument("--dictstart", help="Set starting dictionary", type=int) + parser.add_argument("--shiftend", help="Set shift for ending dictionary", type=int) + args = parser.parse_args() + + print(banana.isbanana(args.banana, args.dictstart, args.shiftend, args.dictionary))