|
|
@@ -0,0 +1,23 @@ |
|
|
|
import re |
|
|
|
|
|
|
|
def checkpw(a, b, l, pw): |
|
|
|
print(a, b, l, pw) |
|
|
|
c = pw.count(l) |
|
|
|
if a <= c <= b: |
|
|
|
return True |
|
|
|
return False |
|
|
|
|
|
|
|
def main(): |
|
|
|
patt = re.compile("^(\d+)-(\d+) (.): (.+)$") |
|
|
|
with open("input2.txt") as file: |
|
|
|
lines = file.readlines() |
|
|
|
ln = [] |
|
|
|
for line in lines: |
|
|
|
m = re.match(patt, line) |
|
|
|
ln.append([int(m.group(1)), int(m.group(2)), m.group(3), m.group(4)]) |
|
|
|
valid = [pw for pw in ln if checkpw(pw[0], pw[1], pw[2], pw[3])] |
|
|
|
print(f"There are {len(valid)} valid passwords out of {len(ln)}.") |
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__": |
|
|
|
main() |