I'm currently starting to learn Python and chose Al Sweigart's "Automate the Boring Stuff with Python" to help me with my first steps. As I really like the look and feel of Visual Studio Code I tried to switch after the first part of the book.
The following code is from the online material and should therefore be correct. Unfortunately it works fine in IDLE but not in VS Code.
def isPhoneNumber(text):
if len(text) != 12:
return False # not phone number-sized
for i in range(0, 3):
if not text[i].isdecimal():
return False # not an area code
if text[3] != '-':
return False # does not have first hyphen
for i in range(4, 7):
if not text[i].isdecimal():
return False # does not have first 3 digits
if text[7] != '-':
return False # does not have second hyphen
for i in range(8, 12):
if not text[i].isdecimal():
return False # does not have last 4 digits
return True # "text" is a phone number!
print('415-555-4242 is a phone number:')
print(isPhoneNumber('415-555-4242'))
print('Moshi moshi is a phone number:')
print(isPhoneNumber('Moshi moshi'))
I get the following error:
415-555-4242 is a phone number:
Traceback (most recent call last):
File "/Users/.../isPhoneNumber.py", line 20, in <module>
print(isPhoneNumber('415-555-4242'))
File "/Users/.../isPhoneNumber.py", line 5, in isPhoneNumber
if not text[i].isdecimal(): AttributeError: 'str' object has no attribute 'isdecimal'
I'd be happy about your suggestions to make it work. I already installed the Python Extension and installed suggested stuff with pip3.
Thanks in advance.
isdecimal, but 2.x does not.