我正在嘗試編寫一個程序,接受XXX-XXX-XXXX
格式的電話號碼,並將條目中的任何字母轉換爲相應的數字。Python:試圖檢查一個有效的電話號碼
現在我有了這個,它將允許您重新輸入正確的數字,如果它不正確啓動,但它會翻譯輸入的原始數字。我該如何解決?
def main():
phone_number= input('Please enter a phone number in the format XXX-XXX-XXXX: ')
validNumber(phone_number)
translateNumber(phone_number)
def validNumber(phone_number):
for i,c in enumerate(phone_number):
if i in [3,7]:
if c != '-':
phone_number=input('Please enter a valid phone number: ')
return phone_number
elif not c.isalnum():
phone_number=input('Please enter a valid phone number: ')
return phone_number
return phone_number
def translateNumber(phone_number):
s=""
for char in phone_number:
if char is '1':
x1='1'
s= s + x1
elif char is '-':
x2='-'
s= s + x2
elif char in 'ABCabc':
x3='2'
s= s + x3
elif char in 'DEFdef':
x4='3'
s= s + x4
elif char in 'GHIghi':
x5='4'
s= s + x5
elif char in 'JKLjkl':
x6='5'
s= s + x6
elif char in 'MNOmno':
x7='6'
s= s + x7
elif char in 'PQRSpqrs':
x8='7'
s= s + x8
elif char in 'TUVtuv':
x9='8'
s= s + x9
elif char in 'WXYZwxyz':
x10='9'
s= s + x10
print(s)
謝謝!你能詳細解釋一下訪問第n個字符嗎?我從來沒有這樣做過 – tinydancer9454 2013-03-06 22:21:13
對不起,我的代碼中有一個錯字:'enumerate'返回'phone_number'的所有值,但也返回它們的位置編號'i'好吧,現在有效,非常感謝! – askewchan 2013-03-06 22:22:51
我剛剛添加了一個長度爲 – askewchan 2013-03-06 22:30:29