def losujHaslo(n): need_length = n haslo = "" ready = False # Zakładam, że hasło musi mieć co najmniej dwa znaki if n <= 3: while True: haslo = losujFragment() if len(haslo) <= 3: break else: while True: wylosowane = losujFragment() haslo = haslo + wylosowane need_length = need_length - len(wylosowane) if need_length <= 1: haslo = "" need_length = n if need_length <= 2: while True: temp = losujFragment() if len(temp) == 2: haslo = haslo + temp ready = True break if ready == True: break if ready == True: break return haslo
def losujHaslo(n): haslo = "" while len(haslo) < n: tmpHaslo = haslo + losujFragment() if len(tmpHaslo) <= n: if (n-len(tmpHaslo)) != 1: haslo = tmpHaslo return haslo
def losujHaslo(n): psswd = ""; #Dump hasła reml = 0; #Litery pozostałe do wypełnienia n miejsc w haśle - wypełniane dopiero w loopie while (len(psswd) < n): #Dopóki len hasła < od wymaganej len hasła addpart = losujFragment(); #Nowa część hasła if (reml <= 1): psswd = ""; elif (len(addpart) <= reml): #Jeżeli len nowej części jest <= od ilości pozostałych w haśle miejsc na litery psswd += addpart; #Połącz dotychczasowe hasło i nową część reml = n - len(psswd); #Aktualizuj reml print psswd, len(psswd); #len(psswd) - debug, TODO: DO USUNIECIA!!