J'ai ce programme:Je ne peux pas faire le programme continue à boucle si son entrée non valide est entré
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)
il apparaîtra comme ceci:
Contact Number:1234
Invalid phone number
>>>
Je veux continuer à boucle jusqu'à ce que un numéro à 10 chiffres est entré puis il s'arrêtera.
Contact Number:1234567890
>>>
La condition est que si le nombre est manquant ou non valide, renvoie -1. Est-ce qu'il me manque quelque chose dans le programme? Merci
C'est une utilisation terrible d'une boucle infinie. Qu'en est-il de vérifier la longueur seulement quand un personnage a été entré? – the4kman
Pourquoi le traitez-vous comme un int et pas une chaîne? Si '0000000001' était un numéro de téléphone valide, vous vous débarrassez de 9 chiffres ... Pourquoi pas juste quelque chose comme:' if number.isdigit() et len (number) == 10: break' sinon, continuez à demander –
Je pense que ce que vous voulez faire est de mettre la dernière et la première rangée dans une boucle do while alors si l'entrée est fausse, vous appelez à nouveau la fonction – Yonlif