Python中的真假电话号码

时间:2017-07-11 02:55:10

标签: python

这是我的第一个编码课,我有点困惑......

我正在寻找一个提示输入电话号码的程序,并通过忽略任何标点来确定它是否是有效的10位数字。我必须编写一个函数,它将电话号码字符串作为参数,如果有效则返回True,否则返回False。我还必须使用循环迭代字符串并在看到数字时递增计数器。

我不确定这是否正确,但这是我到目前为止所带来的。我不确定如何创建循环来迭代字符串以确定真或假电话号码。

main():
    phone_number= input("Please enter a phone number in the format XXX-XXX-XXXX: ")
    validNumber(phone_number)

    def validNumber(phone_number):
        for i,c in enumerate(phone_number):
            if i in [3,7]:
                if c!= "-":
                   phone_number=input("Please inter a valid phone number:")
                   return False
            elif

2 个答案:

答案 0 :(得分:0)

如何逐步思考解决方案?

  1. 检查将数字拆分为三部分的“-”的数量。
  2. 检查XXX-XXX-XXXX上每个XXX(或XXXX)的长度,如果每个XXX的长度合适(3,3和4)
  3. 检查每个XXX(或XXXX)是否为小数。
  4. 代码可以是:

    def validNumber(phone_number):
        p_num_list = phone_number.split('-') # get list of each XXX
    
        if len(p_num_list) is not 3: # if the number has 3 part
            return False
        else:
            if len(p_num_list[0]) is not 3: # Check length of each part
                return False
            if len(p_num_list[1]) is not 3:
                return False
            if len(p_num_list[2]) is not 4:
                    return False
            if p_num_list[0].isdecimal() and p_num_list[1].isdecimal() and p_num_list[2].isdecimal(): # check if each part is decimal
                return True
        return False
    
    if __name__ == '__main__':
        p_num = input("Enter the phone number : ")
        print(validNumber(p_num))
    

答案 1 :(得分:0)

您可以尝试这样的事情:

var robot = require("robotjs");
var ioHook = require('iohook');
robot.setMouseDelay(50);
ioHook.on("keypress", event => {
if(event.rawcode == '65300'||event.rawcode == '65474')  {
    var currentPosition = robot.getMousePos();
    console.log(currentPosition)
        robot.moveMouse(1735, 1019);
        robot.mouseClick("left");
        robot.setMouseDelay(20);
        robot.moveMouse(currentPosition.x, currentPosition.y);
        }
});

ioHook.start();

def valid_number(phone_number): try: number = [str(int(i)) for i in phone_number.split('-')] except: print('Error, only numbers allowed') number = '' if len(''.join(number)) == 10: print('This is a valid phone number') return True else: print('This is not a valid phone number') return False def main(): phone_number = input('Enter number in format xxx-xxx-xxxx: ') valid_number(phone_number) if __name__ == '__main__': main() 正在尝试将字符串转换为整数,如果失败,则不是数字,然后检查该数字是否为10个字符长,或者不返回int()或{{1 }}