CKC (Anna Livia Purabelle und Dr. Ulrike Ritter) Endlich Riesenpasswörter für immer anderweitig beschäftigte Gehirne! Hier kannst du dir en riesiges Zahlenpasswort erstellen

>, musst dir aber nur fünf oder sechs Ziffern merken.

Gib in das erste Feld ein paar Ziffern ein, z.B. 758, und in das zweite Feld eine kleinere Zahl, z. B. 219 oder 29.

Das Passwort wird mit Zauberpfoten blitzschnell erstellt und ist mit den eingegebenen Ziffern wieder abrufbar.

(solange das Progamm verfügbar ist, also keine Gewähr! - zusätzlich irgendwo aufschreiben.

import math import sys from sys import argv import csv from csv import reader import re import itertools import pickle from datetime import datetime #arrays #fuer digits (q) #fuer divi (R)? #erg durch t ohne array #a ohne array aidar = int(input("zifferngruppe A: ")) a = int(input("Zifferngruppe B: ")) flori=aidar annaplupps= flori divi=annaplupps b=1 n=1 q=aidar floralivia=0 y=0 b=a def aidaifm(aidar, a): divi=aidar q=aidar annaplupps= aidar floralivia=0 y=0 b=a def aidaria(aidar): q0=1 q1=1 q2=1 q3=1 q4=1 q5=1 q6=1 q7=1 q8=1 q9=1 q10=1 q11=1 q12=1 q13=1 q14=1 q15=1 q16=1 q17=1 q18=1 q19=1 q20=1 q21=1 q22=1 q23=1 q24=1 q25=1 q26=1 q27=1 q28=1 q29=1 q30=1 q31=1 q32=1 q33=1 q34=1 q35=1 q36=1 q37=1 q38=1 q39=1 q40=1 q41=1 q42=1 q43=1 q44=1 q45=1 q46=1 q47=1 q48=1 q49=1 q50=1 q51=1 q52=1 q53=1 q54=1 q55=1 q56=1 q57=1 q58=1 q59=1 q60=1 q61=1 q62=1 q63=1 q64=1 q65=1 q66=1 q67=1 q68=1 q69=1 q70=1 q71=1 q72=1 q73=1 q74=1 q75=1 q76=1 q77=1 q78=1 q79=1 q80=1 q81=1 q82=1 q83=1 q84=1 q85=1 q86=1 q87=1 q88=1 q89=1 q90=1 q91=1 q92=1 q93=1 q94=1 q95=1 q96=1 q97=1 q98=1 q99=1 q100=1 x_sq_list=[q100, q99, q98, q97, q96, q95, q94, q93, q92, q91, q90, q89, q88, q87, q86, q85, q84, q83, q82, q81, q80, q79, q78, q77, q76, q75, q74, q73, q72, q71, q70, q69, q68, q67, q66 , q65 , q64 , q63 , q62 , q61 , q60, q59, q58, q57, q56, q55, q54, q53, q52, q51, q50, q49, q48, q47, q46, q45, q44, q43, q42, q41, q40, q39, q38, q37, q36, q35, q34, q33, q32, q31, q30, q29, q28, q27, q26 , q25 , q24 , q23 , q22 , q21 , q20, q19, q18, q17, q16, q15, q14, q13, q12, q11, q10, q9, q8, q7, q6 , q5 , q4 , q3 , q2 , q1 , q0] x_sq_list_int = [int(i) for i in x_sq_list] x_sq = sum(x_sq_list_int) m=1 i=0 n=1 for n in range (0, 100): i=n p= x_sq_list_int[i]*(10**(100-i)) q= aidar if(p > q): x_sq_list[i] = 0 if(not(p>q)): for j in range (i, 100): x_sq_list[j] = 10**(100-j) break return x_sq_list x_sq_list=aidaria(aidar) #print("x1", x_sq_list) #Funktion zur Bestimmung der Laenge def digit(aidar): x_sq_list=aidaria(aidar) x_sq_list_int = [int(j) for j in x_sq_list] x_sq = sum(x_sq_list_int) i=0 for i in range(0, 100): zz_list = x_sq_list zzint = [int(i) for i in zz_list] if(zzint[i] ==0 and zzint[i+1] >0): digitq= 100-i return(digitq) break digitq=digit(aidar) #print("dq1", digitq) def definediv(aidar): x_sq_list=aidaria(aidar) x_sq_lista=x_sq_list digitq=digit(aidar) i=0 q=aidar for i in range (0, digitq): j=digitq-i q= aidar*(10**(-digitq+i+1)) q=int(q) x_sq_lista[100-digitq+i] = q x_sq_lista[100-digitq+i]=x_sq_lista[100-digitq+i]*(10**(digitq-i-1)) x_sq_inta=[int(i) for i in x_sq_lista] zzs=sum(x_sq_inta) q=q*(10**(digitq-i-1)) aidar=aidar-q return x_sq_lista divi_list =definediv(aidar) #print("divlis", divi_list) def itera(divi_list): wdh=100/digitq w=int(wdh) v=1 i=0 for v in range(1, w): for i in range( 0 , digitq): #divi_list[99-v*i] = divi_list[99-digitq+i] divi_list[99 - digitq - v*(digitq-i)] = (divi_list[100-digitq+i])*10**v x_sq_inta=[int(i) for i in divi_list] zzs=sum(x_sq_inta) #divi_list[99-digitq-v*(digitq-i)] = divi_list[100-digitq+i] return(x_sq_inta) x_sq_inta= itera(divi_list) #print("xxxinta", x_sq_inta) zzs=sum(x_sq_inta) #print("zzs", zzs) aidar=zzs a=b return(zzs, a) plupps=aidaifm(aidar, a) aidar=plupps[0] a=plupps[1] def divisor(aidar, a): flori=aidar annaplupps= flori divi=annaplupps b=a n=1 q=aidar floralivia=0 y=0 b=a #a=b def aidaifm(aidar, a): divi=aidar q=aidar annaplupps= aidar floralivia=0 y=0 ###divisor aus modlist generieren!1 hiernoch: b=a ##erstellt eine Zehnerstruktur fuer die Dividenden def aidaria(aidar): q0=1 q1=1 q2=1 q3=1 q4=1 q5=1 q6=1 q7=1 q8=1 q9=1 q10=1 q11=1 q12=1 q13=1 q14=1 q15=1 q16=1 q17=1 q18=1 q19=1 q20=1 q21=1 q22=1 q23=1 q24=1 q25=1 q26=1 q27=1 q28=1 q29=1 q30=1 q31=1 q32=1 q33=1 q34=1 q35=1 q36=1 q37=1 q38=1 q39=1 q40=1 q41=1 q42=1 q43=1 q44=1 q45=1 q46=1 q47=1 q48=1 q49=1 q50=1 q51=1 q52=1 q53=1 q54=1 q55=1 q56=1 q57=1 q58=1 q59=1 q60=1 q61=1 q62=1 q63=1 q64=1 q65=1 q66=1 q67=1 q68=1 q69=1 q70=1 q71=1 q72=1 q73=1 q74=1 q75=1 q76=1 q77=1 q78=1 q79=1 q80=1 q81=1 q82=1 q83=1 q84=1 q85=1 q86=1 q87=1 q88=1 q89=1 q90=1 q91=1 q92=1 q93=1 q94=1 q95=1 q96=1 q97=1 q98=1 q99=1 q100=1 x_sq_list=[q100, q99, q98, q97, q96, q95, q94, q93, q92, q91, q90, q89, q88, q87, q86, q85, q84, q83, q82, q81, q80, q79, q78, q77, q76, q75, q74, q73, q72, q71, q70, q69, q68, q67, q66 , q65 , q64 , q63 , q62 , q61 , q60, q59, q58, q57, q56, q55, q54, q53, q52, q51, q50, q49, q48, q47, q46, q45, q44, q43, q42, q41, q40, q39, q38, q37, q36, q35, q34, q33, q32, q31, q30, q29, q28, q27, q26 , q25 , q24 , q23 , q22 , q21 , q20, q19, q18, q17, q16, q15, q14, q13, q12, q11, q10, q9, q8, q7, q6 , q5 , q4 , q3 , q2 , q1 , q0] x_sq_list_int = [int(i) for i in x_sq_list] x_sq = sum(x_sq_list_int) #pal = x_sq #print("aidar on 96") #print("line144start", x_sq) #print("line237",p) #q einsortieren #oben: q=2*q #qd= zehnerstellen verteiltes q m=1 i=0 n=1 for n in range (0, 100): #m = m*10**n i=n p= x_sq_list_int[i]*(10**(100-i)) q= aidar if(p > q): x_sq_list[i] = 0 #i=n #nur Stelligkeit #print("x_sq_list ob", x_sq_list) #print("qi", qi) #qi in liste einlesen if(not((p>q) or (p==q))): for j in range (i, 100): x_sq_list[j] = 10**(100-j) break #print("x_sq_list un", x_sq_list) return x_sq_list #for j in range (i, 100): #if (x_sq_list_int[j] > 0): #x_sq_list_int = [int(j) for j in x_sq_list] x_sq_list=aidaria(aidar) #Funktion zur Bestimmung der Laenge #aidar=divi #q=aidar #x_sq_list=aidaria(aidar) x_sq_list_int = [int(j) for j in x_sq_list] #x_sq_list_int10 = [int(i)*10**(100-i) for i in x_sq_list] #x_sq = sum(x_sq_list_int10) x_sq = sum(x_sq_list_int) #print("sum", x_sq) #digits von za i=0 for i in range(0, 100): zz_list = x_sq_list zzint = [int(i) for i in zz_list] if(zzint[i] ==0 and zzint[i+1] >0): digitq= 100-i #print("digitq",digitq) break q=aidar def definediv(q): x_sq_lista=x_sq_list i=0 aidar=q for i in range (0, digitq): j=digitq-i #m = m*10**n #100-digitq-1-n q= aidar*(10**(-digitq+i+1)) q=int(q) x_sq_lista[100-digitq+i] = q x_sq_lista[100-digitq+i]=x_sq_lista[100-digitq+i]*(10**(digitq-i-1)) #print(x_sq_lista[0]) #print(x_sq_lista[100]) #print("nh", x_sq_lista[20]) #print("q", q) x_sq_inta=[int(i) for i in x_sq_lista] #print(x_sq_inta) zzs=sum(x_sq_inta) #print("339", zzs) q=q*(10**(digitq-i-1)) aidar=aidar-q return x_sq_lista divi_list =definediv(q) #definediv(q) ##bestimmt die Anzahl der Digits (des faktors) aidar=a q=aidar x_sq_list=aidaria(aidar) ffint = [int(i) for i in x_sq_list] for i in range(0, 100): if(ffint[i] ==0 and ffint[i+1] >0): digita = 100-i break #print("digita", digita) #--------------------------------------------------------- aidar=divi q=aidar #------------------------------------------------- digimin=digita t=1 g=1 #improve: gtest erste drei zahlen, dann g ganz uer ergebnis digitq neu bestimmen for t in range(1, digitq): #aidar=divi #x_sq_list=aidaria(aidar) #zzint = [int(i) for i in x_sq_list] #zzint_arch =zzint #zz = sum(zzint) #print("zz412", zzint) for i in range(0, 101): aidar=divi x_sq_list=aidaria(aidar) zzint = [int(i) for i in x_sq_list] zzint_arch =zzint if(zzint[i] ==0 and zzint[i+1] >0): digitq= 100-i break #print("digitq 420", digitq) if(not(digitq > digita) or (digitq == digita)) : t=digitq break if((digitq == digita) and (a>divi)): #print("zahl z:", annaplupps) #print("geteilt durch a mit rest:", a, divi) #print("b floralivia:", floralivia) t=digitq break q=divi divi_list =definediv(q) divi_list_int = [int(i) for i in divi_list] xdiv = sum(divi_list_int) #print("647", divi_list_int) if (xdiv>a): ########digitq #sumfi gpassend zu digita vona aus q auslesen : #xdiv = sum(divi_list_int) #xdivstart =xdiv #liste xdiv getauscht #xdiv = sum(divi_list_int) #xdivstart =xdiv def aidadivi(digimin): summ=0 cou=0 d=digimin #for d in range(0, digimin): div = divi_list_int[100-2-digitq+d] summ = sum(divi_list_int) #print(summ, div) #cou=cou+1 #print(cou) sumfi = summ / 10**(digitq - digimin) sumfi=int(sumfi) #print("667", sumfi) return sumfi min=aidadivi(digimin) intmin=int(min) #print("6790 min", intmin) #def subtrah(min): #a=133 faktor oben wg einbindung if(intmin>a): x=0 for g in range(1, 11): subtra = g*a minu = intmin-subtra if ((g>1) and (subtra > intmin)): #digimin=digita g=g-1 subtra= g*a minu=intmin-subtra floralivia= floralivia + g*10**(digitq - digimin) subtraz=subtra*10**(digitq - digimin) divi=divi-subtraz x=x+1 min=aidadivi(digimin) intmin=int(min) digimin=digita #print("711 intmin divi m", intmin, divi, minu) #print("701 xdiv", xdiv) if((x == 1)): break if(not((intmin > a) or (intmin == a))): #print("divi", divi) if((digitq == digita)): #print("zahl z:", annaplupps) #print("geteilt durch a mit rest:", a, divi) #print("b floralivia:", floralivia) t=digitq break if(not(digitq > digita) and (digitq == digita)): #print("zahl z:", annaplupps) #print("geteilt durch a mit rest:", a, divi) #print("b floralivia:", floralivia) t=digitq break digimin=digita+1 def aidadivi(digimin): summ=0 cou=0 d=digimin #for d in range(0, digimin): div = divi_list_int[100-2-digitq+d] summ = sum(divi_list_int) #print(summ, div) #cou=cou+1 #print(cou) sumfi = summ / 10**(digitq - digimin) sumfi=int(sumfi) #print("667", sumfi) return sumfi min=aidadivi(digimin) intmin=int(min) #print("min vergrssert ", intmin) g=1 x=0 for g in range(1, 11): subtra = g*a #print("771", g, intmin, subtra) minu = intmin-subtra if ((g>1) and (subtra > intmin)): g=g-1 subtra= g*a minu=intmin-subtra floralivia= floralivia + g*10**(digitq - digimin) subtraz=subtra*10**(digitq - digimin) divi=divi-subtraz x=x+1 #print("711 intmin divi", minu, intmin, divi) #print("714 minu", minu) #break digimin=digita min=aidadivi(digimin) intmin=int(min) #print("int wieder klein?", minu, intmin, divi) if(not(intmin > a) or (intmin == a)): #print("divi", divi) if((digitq == digita)): #print("zahl z:", annaplupps) #print("geteilt durch a mit rest:", a, divi) #print("b floralivia:", floralivia) t=digitq break if(not((digitq > digita) or (digitq == digita))): #print("zahl z:", annaplupps) #print("geteilt durch a mit rest:", a, divi) #print("b floralivia:", floralivia) t=digitq break if((x == 1)): break return(floralivia) aidam=aidaifm(aidar, a) #print("aidam", aidam) return(aidam) DeinPW=divisor(aidar, a) print("DeinPW", DeinPW)