0
我有这样的程序:我不能让程序继续循环,如果输入了无效的输入
number = int(input('Contact Number:'))
def validatePhoneNumber(number):
count = 0
while True:
while number > 0:
number = number//10
count = count+1
if (count == 10) :
break
elif (count > 10) :
print('Invalid phone number')
return -1
elif (count < 10):
print('Invalid phone number')
return -1
validatePhoneNumber(number)
会出现这样的:
Contact Number:1234
Invalid phone number
>>>
我希望它继续循环,直到输入一个10位数字,然后停止。
Contact Number:1234567890
>>>
条件是如果数字缺失或无效,则返回-1。 我错过了程序内的东西吗? 感谢
这是一个无限循环的可怕用法。只有在输入字符时才能检查长度? – the4kman
为什么你把它当作int而不是字符串呢?如果'0000000001'是一个有效的电话号码,你会摆脱9位数字......为什么不是这样的:'如果number.isdigit()和len(数字)== 10:break'否则,继续询问 –
我认为你想要做的是把最后一行和第一行放在do while循环中,所以如果输入错误,你会再次调用函数 – Yonlif