<
Jun Day 5
Whiteboard Images
Original planning for the day
First warmup
Second warmup question
Activity 1
Activity 1 extra notes
Code Sections
Print only Uppercase Warmup
string = input("Enter a string: ")
idx = 0
while(idx < len(string)):
if(string[idx].isupper()):
print(string[idx])
idx = idx + 1
Password Validation
pwd = input("Enter the password: ")
count = 0
correctLength = len(pwd) >= 8
containsUpper = False
containsLower = False
containsDigit = False
while(count < len(pwd)):
if(pwd[count].isupper()):
containsUpper = True
elif(pwd[count].islower()):
containsLower = True
elif(pwd[count].isdigit()):
containsDigit = True
count = count + 1
if(correctLength):
if(containsUpper):
if(containsLower):
if(containsDigit):
print("Valid password")
else:
print("Invalid password")
else:
print("Invalid password")
else:
print("Invalid password")
else:
print("Invalid password")
Password Generation
from random import randint
def hasUpper(pwd):
for char in pwd:
if(char.isupper()):
return True
return False
def hasLower(pwd):
for char in pwd:
if(char.islower()):
return True
return False
def hasDigit(pwd):
for char in pwd:
if(char.isdigit()):
return True
return False
def isvalid(pwd):
if(len(pwd) < 8):
return False
elif(not hasUpper(pwd)):
return False
elif(not hasLower(pwd)):
return False
elif(not hasDigit(pwd)):
return False
return True
def gen():
pwd = ""
digits = "0123456789"
lower = "abcdefghijklmnopqrstuvwxyz"
upper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
length = randint(8, 15)
for i in range(length):
v = randint(1, 3)
if(v == 1):
pwd += digits[randint(0, len(digits) - 1)]
elif(v == 2):
pwd += lower[randint(0, len(lower) - 1)]
else:
pwd += upper[randint(0, len(upper) - 1)]
return pwd
def validGen():
pwd = gen()
while(not isvalid(pwd)):
pwd = gen()
return pwd
print("Regular Gen")
for i in range(10):
pwd = gen()
print(pwd, isvalid(pwd))
print()
print("Valid Gen")
for i in range(10):
pwd = validGen()
print(pwd, isvalid(pwd))