0

what wrong with this program?

Task: Write a program that takes in a string as input and evaluates it as a valid password. The password is valid if it has at a minimum 2 numbers, 2 of the following special characters ('!', '@', '#', '

#x27;, '%', '&', '*'), and a length of at least 7 characters. If the password passes the check, output 'Strong', else output 'Weak'. another explanation: Explanation: The password has 2 numbers, 2 of the defined special characters, and its length is 14, making it valid. my program : password = input() nums = "1, 2, 3, 4, 5, 6, 7, 8, 9" sc = "!, @, #, $, %, &, *" lets = "qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM" if password in nums >= 2 and password in sc >= 2: if password in lets >= 7: print("Strong") else: print("Weak")

23rd Jun 2022, 11:58 PM
athaleyah weise
1 Réponse
+ 5
- those commas in the strings are characters too nums = "0123456789" - same for special characters. sc = "!@#$%&*" password = input().lower() Makes all letters lowercase, even if you have nonletter char in the string. so, lets = "abcdefghijklmnopqrstuvwxyz" "if nums in password :" and not otherwise, but "in" just checks for num, as in a set. It doesn't do counting. what you can do is introduce a counter for each kind of character, then start a loop, iterate over password, increase count under given conditions. There are various ways you can do this but I guess the above bit is the natural continuation of your code. (please try it first) https://code.sololearn.com/cSBD0mEvWYJ6/?ref=app
24th Jun 2022, 12:21 AM
Korkunç el Gato
Korkunç el Gato - avatar