Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

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

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote