Python 基于前四位数字识别手机号码的更好方法

Python 基于前四位数字识别手机号码的更好方法,python,Python,目前,我有一个python程序,用于根据前四位数字识别手机号码 cellnum = (input("Enter your 11-digit cellphone number with no spaces or dashes: ")) n1 = cellnum[:4] if n1 == "0917" or n1 == "0916": print(cellnum, "is Globe") elif n1 == "0935": print(cellnum, "is TM") elif n1 =

目前,我有一个python程序,用于根据前四位数字识别手机号码

cellnum = (input("Enter your 11-digit cellphone number with no spaces or dashes: "))
n1 = cellnum[:4]
if n1 == "0917" or n1 == "0916":
  print(cellnum, "is Globe")
elif n1 == "0935":
  print(cellnum, "is TM")
elif n1 == "0918" or n1 == "0910":
  print(cellnum, "is Smart")
elif n1 == "0922" or n1 == "0923":
  print(cellnum, "is Sun")
else:
  print("~unknown provider~ :(")

有没有更好的方法来改进我的脚本并使其更具动态性。

如果你问如何改进它,我给你举了一个简单的例子


这里的问题是什么?你是在问如何改进吗?或者有更好的方法吗?请不要通过提供推测性答案来鼓励低质量或离题的问题。
cellnum = (input("Enter your 11-digit cellphone number with no spaces or dashes: "))

def checkProvider(numb):
    provider_key = numb[:4]
    providers = [
        ('Globe', ['0917', '0916']),
        ('TM', ['0935']),
        ('Smart', ['0918', '0910']),
        ('Sun', ['0922', '0923'])
    ]
    for provider in providers:
        provider_name, numbers = provider
        if provider_key in numbers:
            return provider_name
    return None


cellProvider = checkProvider(cellnum)

if cellProvider is None:
    print('~unknown provider~ :(')
else:
    print(cellnum, 'is ' + cellProvider)