From bd420e7548bc42e876092b0475e51ad032491413 Mon Sep 17 00:00:00 2001 From: KikooDX Date: Sun, 9 Feb 2020 11:58:34 +0100 Subject: [PATCH] Fully working program --- main.py | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 main.py diff --git a/main.py b/main.py new file mode 100644 index 0000000..7240f6b --- /dev/null +++ b/main.py @@ -0,0 +1,46 @@ +from math import ceil +import locate2 + +def crible(max): + result = [i for i in range(2, max) if i%2 and i%5] + step = 0 + while step != len(result): + div = result[step] + if div**2 > result[-1]: + break + result = [i for i in result if i%div or i==div] + step += 1 + #insert 2 & 5 if needed + if max > 2: + result.insert(0, 2) + if max > 5: + result.insert(2, 5) + return result + +#list browser +def explore(provided_list): + scr = locate2.Screen(21, 7) #app screen, w:21 h:7 + pos = 0 + max_pos = ceil(len(provided_list) / 7) - 1 + key = " " + while key != "0": + scr.fill() + scr.locate_v(21, 1, "^4||1v") #sidebar + status = "{}/{}".format(pos, max_pos) + scr.locate(20 - len(status), 1, status) + for i in range(7): + try: + scr.locate(1, i+1, provided_list[pos*7+i]) + except: + break + uin = scr.refresh(fancy=True)[-1:] #only keep the last char entered + key = uin if uin else key + power = 10 ** "123".find(key) + if power != 0.1 and pos + power <= max_pos: + pos += power + power = 10 ** "456".find(key) + if power != 0.1 and pos - power >= 0: + pos -= power + +result = crible(int(input("max>"))) +explore(result)