【发布时间】:2017-09-07 12:04:38
【问题描述】:
def isPhoneNumber(text):
if len(text) != 12:
return False
for i in range(0, 3):
if not text[i].isdecimal():
return False
if text[3] != '-' or text[3] != '':
return False
for i in range(4, 7):
if not text[i].isdecimal():
return False
if text[7] != '-':
return False
for i in range(8, 12):
if not text[i].isdecimal():
return False
return True
print('444-444-4444 is a phone number: ')
print(isPhoneNumber('473-927-2847'))
print('Moshi moshi is a phone number:')
print(isPhoneNumber('Moshi moshi'))
print('8478473948 is a phone number:')
print(isPhoneNumber('847847-3948'))
它们现在都返回 false。怎么会?为什么第三个“if”语句没有返回正确的值?对于第一个函数调用和第三个函数调用,它都应该返回 true。我将如何让这个工作?检查数字 0 到 7 之间的非空格以及连字符,如果没有找到则返回 false。
【问题讨论】:
-
缩进似乎关闭了...错误的空间?
标签: python python-3.x if-statement logic