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