0
Zip Code Validator
I need help with finding the solutions... My test is failing on two tests in the challenge...
17 Answers
+ 6
You can use the isdigit function to find out if it is a digit so that it returns the Value True if it is true, and see if the size of the zip code is equal to the size of the zip code which is 5
code = int(input())
if code.isdigit() and len(code)==5:
print("true")
else:
print("false")
I provide you with the code so you can understand how it works and you can go deeper into it so you can use what you have learned.
+ 6
Wait a moment, you are using the re library, you should apply what you have learned with the re library, since it is very useful, you should do it like this
What pattern does is the following \d makes me look for if any number has been typed and {5} is a size of 5 digits at the end $
import re
pattern=r'\d{5}#x27;
if re.match(pattern,input()):
print('true')
else:
print('false')
If you are correct, mark my answer.
In conclusion, learn more about the re library since it is very useful on many occasions. I recommend it to everyone since it will be useful to you later.
+ 5
^\d{5}$
^ -> matches the beginning of the string
\d{5} -> Matches exactly 5 digits
$ -> if match at end of string
+ 4
Used to finish a pattern
For example:
\d{5}$
The $ would serve as this whole pattern \de{5} has to be fulfilled
If you don't understand, let me know.
+ 4
You imported re but it is not used. However, it is OK because we can do it without re.
In this statement, int_version = int(zip_code), what will happen if the zip_code is "a1234"?
+ 4
It will send False since as you will see \d serves to identify that they are digits and not letters
complete the python core course there it will teach you how to use the library I recommend it
https://www.sololearn.com/learn/courses/le-python
+ 3
If you want to know why your code doesn't work, you have to post your code so others can inspect it.
+ 3
Ntsikelelo Nkosingiphile Kevin Khoza
Surely"a1234" is not a valid zip code and should return "false" as output.
But your code cannot handle that input and produce a runtime error.
https://sololearn.com/compiler-playground/ccZO818Td4GC/?ref=app
+ 3
Ntsikelelo Nkosingiphile Kevin Khoza
You can't pass a test case if your code: produce a result which is not exactly as expected; your code terminated with error.
That's why it failed the tests.
I see you already pass the intermediate course, and also the legacy Python courses.
I think you already know try...except block.
Further examining your code, I found variable "max_length" is not used. What is the purpose of it?
Also, it can be solved without using any module or string method.
You can use a for loop to check each character and see if it is in a string which composite of numbers only.
+ 1
Wong Hei Ming
My sotulion is currently like this:
zip_code = input()
import re
max_length = 5
int_version = int(zip_code)
if len(zip_code) == 5 and type(int_version) is int:
print("true")
else:
print("false")
It fails the third, and fourth tests...
+ 1
Wong Hei Ming I understand that is raising exceptionz.. So it is probably the reason why my code didn't work? It was failing on alphanumeric strings
0
STE4LPH thank you for the solution... 🙏🏿🙏🏿 I will try it out...
0
STE4LPH so what does the $ sign do... I think I saw them say "r" is a standard for showing that we're working with a regEX pattern, please correct me if I'm wrong. But what does the "quot; sign do?
0
I think that provides enough clearity, with how concise it is... And thank you once again the solution works
0
Wong Hei Ming the requirements say it must be only numbers, contain no spaces and special characters... So that one is a false condition
0
Wong Hei Ming I will go back and check out the course. Because it has been a while.
0
My solution is pretty simple and uses no library:
https://sololearn.com/compiler-playground/cPyra4V25KzY/?ref=app