Skip to content

Commit 0d6028c

Browse files
committed
Eleventh project
1 parent bbdd8c6 commit 0d6028c

File tree

3 files changed

+50
-9
lines changed

3 files changed

+50
-9
lines changed

.idea/workspace.xml

+3-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

alarm_clock.py

+4-7
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
from playsound import playsound
22
import time
33

4-
5-
6-
CLEAR = '/033[2J'
7-
CLEAR_AND_RETURN = '\033[H'
4+
CLEAR = "\033[2J"
5+
CLEAR_AND_RETURN = "\033[H"
86

97

108
def alarm(seconds):
@@ -19,11 +17,10 @@ def alarm(seconds):
1917
minutes_left = time_left // 60
2018
seconds_left = time_left % 60
2119

22-
print(f'{CLEAR_AND_RETURN}{minutes_left:02d}:{seconds}')
23-
playsound('alarm.mp3')
20+
print(f"{CLEAR_AND_RETURN}Alarm will sound in :{minutes_left:02d}:{seconds_left:02d}")
2421

2522

2623
minutes = int(input('How many minutes to wait: '))
2724
seconds = int(input('How many seconds to wait: '))
2825
total_seconds = minutes * 60 + seconds
29-
alarm(10)
26+
alarm(total_seconds)

password_generator.py

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import random
2+
import string
3+
4+
5+
def generate_password(min_length, numbers=True, special_characters=True):
6+
letters = string.ascii_letters
7+
digits = string.digits
8+
special = string.punctuation
9+
10+
characters = letters
11+
if numbers:
12+
characters += digits
13+
if special_characters:
14+
characters += special
15+
16+
pwd = ''
17+
meet_criteria = False
18+
has_number = False
19+
has_special = False
20+
21+
while not meet_criteria or len(pwd) < min_length:
22+
new_char = random.choice(characters)
23+
pwd += new_char
24+
25+
if new_char in digits:
26+
has_number = True
27+
elif new_char in special:
28+
has_special = True
29+
30+
meet_criteria = True
31+
if numbers:
32+
meet_criteria = has_number
33+
if special_characters:
34+
meet_criteria = meet_criteria and has_special
35+
36+
return pwd
37+
38+
39+
min_length = int(input('Enter the minimum length: '))
40+
has_number = input('Do you want to have numbers (y/n)? ').lower() == 'y'
41+
has_special = input('Do you want to have special characters (y/n)? ').lower() == 'y'
42+
pwd = generate_password(min_length, has_number, has_special)
43+
print('The generated password is: ', pwd)

0 commit comments

Comments
 (0)