Write a Python script named “isValidPhoneNumber.py” that: a. Take 1 string as an
ID: 3606812 • Letter: W
Question
Write a Python script named “isValidPhoneNumber.py” that:
a. Take 1 string as an argument and determine if it is a valid phone number
b. Phone number can be any of the following format:
i. nnnnnnnnnn
ii. (nnn) nnnnnnn
iii. nnnnnnnnnn
iv. 1nnnnnnnnnn
v. 1 (nnn) nnnnnnn
vi. 1nnnnnnnnnn
where n is a digit between 0 and 9
c. Any phone number using one of the above formats is valid, while any phone number not using one of the above formats is invalid
d. If valid print “valid phone number”, otherwise print “invalid phone number”
e. If there is not exactly 1 argument, print an error message and exit
This code will be run on Ubuntu and will use regular expressions.
Explanation / Answer
#!/usr/bin/python
import sys
if len(sys.argv) != 2:
print("Provide only one phone number")
sys.exit(1)
number = sys.argv[1]
def checkAndExtractBracketPattern(number):
newnumber = ""
if number[0] == "(":
if not (number[4] != ")" or number[5] != " " or number[9] != "-"):
newnumber = number[1:4] + number[6:9] + number[10:]
return newnumber
def checkAndExtractHyphenPattern(number):
newnumber = ""
if number[3] == "-" and number[7] == "-":
newnumber = number[0:3] + number[4:7] + number[8:]
return newnumber
if len(number) == 14 and number[0] == "1" and number[1] == "-":
number = checkAndExtractHyphenPattern(number[2:])
elif len(number) == 16 and number[0] == "1" and number[1] == " ":
number = checkAndExtractBracketPattern(number[2:])
elif len(number) == 11 and number[0] == "1":
number = number[1:]
elif number[0] == "(":
number = checkAndExtractBracketPattern(number)
elif number[3] == "-":
number = checkAndExtractHyphenPattern(number)
if len(number) != 10:
print("invalid phone number")
else:
isNumber = True
for n in number:
if not n.isdigit():
isNumber = False
break
if isNumber:
print("valid phone number")
else:
print("invalid phone number")
# copy pastable code link: https://paste.ee/p/Z8Ueg
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.