Password validation | Sololearn: Learn to code for FREE!

+3

Password validation

I tried to solve this.. I got all the 9 conditions correct but the last 4 were wrong. Somebody help me!! p=input("") #string input count=0 special=['!', '@', '#', '$', '%', '&', '*'] a=0 d=0 sl=0 for i in range(len(p)): if(p[i].isalpha()): a=a+1 elif(p[i].isdigit()): d=d+1 elif (p[i] in special): sl=sl+1; count=a+d+sl if(count>=11 and sl>=2 and d>=2 and a>=7): print("Strong") else: print("Weak") This is my code in python.โ˜๏ธโ˜๏ธ And the below one is in C ๐Ÿ‘‡๐Ÿ‘‡. include <stdlib.h> #include <stdio.h> #include <string.h> main() { char l[1000]; int i,v,a=0,d=0,s=0,count=0; //printf("\n enter passeord:"); gets (l); for(i=0;i<strlen(l);i++) { if(l[i]=='!'|| l[i]=='@'|| l[i]=='#'||l[i]=='$'|| l[i]=='%'|| l[i]=='&' ||l[i]=='*') s++; else if((l[i]>='A'&&l[i]<='Z')|| (l[i]>='a'&&l[i]<='z')) a++; else if(isdigit(l[i])) d++; } if(d>=2 && s>=2 && a>=7) printf("Strong"); else printf("Weak"); return 0; }

3/19/2021 1:43:35 PM

nivedha srinivasan

10 Answers

New Answer

+2

Just consider this code : https://code.sololearn.com/cV57TqZAIuhp/?ref=app

+5

This will help you if you like this to analyze https://code.sololearn.com/cOjvkbJvYPg2/?ref=app

+3

# Python code: a, b, c = input(), 0, 0 for x in a: if x.isnumeric(): b += 1 if x in "[email protected]#$%&*": c += 1 if b > 1 and c > 1 and len(a) > 6: print("Strong") else: print("Weak") # Hope this helps

+2

What is need of condition count>=11 in if block..? May i know about the logic? edit: nivedha srinivasan you are counting alphabets into variable 'a' but you need length of input string which also includes special chars and digits.. so take a = len(p) next only need special chars and digits separately.. in c : a = strlen(l); hope it helps you..

+1

In first, I understand more python than c so my comment will be for the python code. Firstly you don't need to check if in password given are characters cause this is not a criteria of the challenge. Secondly there are three cases you should check : 1-The length of password. 2-At least two numbers. 3-At least two special characters. So in python you may create three different functions to check those points or you just can run the check in a single for loop. For 2 and 3 you may need a variable to store the count of them. For the 1 just use len() function. For example: #this is without functions pass = str(input()) nums = list(range(10)) special_c = [#special characters needed] n = 0 s = 0 for char in pass: if char in nums: n++ elif char in special_c: s++ #the final check if len(pass)>=7 and n>=2 and s>=2: print('Strong') else: print('Weak') You got it ?๐Ÿ˜€

+1

The same for the c code

+1

Thank you ,guys.completed ๐Ÿฅณ๐Ÿฅณ

+1

No problem ๐Ÿ‘. Ask anytime

+1

// C code: #include <stdio.h> int main() { char a[25]; char b[7] = {'!','@','#','$','&','*','%'}; fgets(a, 25, stdin); int x=0, y=0, i; for (i=0;a[i]!='\0';i++) { for (int k=0;k<10;k++) { if (k == a[i] - 48) x++; if (a[i] == b[k * (k < 7)]) y++; } } if (x > 1 && y > 1 && i > 6) { puts("Strong"); } else puts("Weak"); } // Hope this helps

0

password = list(input()) str = " ".join(password) #a string with space b/w the items import re symb = re.findall("[[email protected]#\$%&\*]+", str) num = re.findall(r"[0-9]+", str) filt = filter((lambda x: x in symb,str), (password)) print ("Strong" if len(symb) >= 2 and len(num) >= 2 and len(password) >=7 else "Weak")