这是我的第一个编码课,我有点困惑......
我正在寻找一个提示输入电话号码的程序,并通过忽略任何标点来确定它是否是有效的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
答案 0 :(得分:0)
如何逐步思考解决方案?
-
”的数量。代码可以是:
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 }}