Compare commits

..

2 Commits

Author SHA1 Message Date
xpk 6eedb471f2 feat: password generator using pet names and random number 2025-11-25 11:23:42 +08:00
xpk 7e6e33397d feat: python loop demo 2025-11-25 10:59:00 +08:00
2 changed files with 53 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
#!/usr/bin/python3
r"""
Python loops demo
License: This program is released under the MIT License
"""
import logging
logging.basicConfig(level=logging.INFO, format="%(funcName)s %(levelname)s: %(message)s")
def while_loop() -> None:
counter: int = 1
while counter <= 5:
logging.info(counter)
counter += 1
def for_loop() -> None:
for i in range(5):
logging.info(i)
# Main function
def main() -> None:
"""
Both functions will log a message 5 times, but the for loop is so much simpler
"""
while_loop()
for_loop()
# Call main function
if __name__ == '__main__':
main()
Executable
+21
View File
@@ -0,0 +1,21 @@
#!/usr/bin/env python3
import petname
import secrets
def generate_password(names: int) -> str:
"""
Generate a password from pet names and a random number
:param names: Number of names to generate
:return: A simple yet secure password
"""
results = []
for _ in range(names):
results.append(petname.Name().capitalize())
results.append(str(secrets.randbelow(8999)+1000))
return ".".join(results)
if __name__ == '__main__':
print(generate_password(2))