2016-01-19 47 views
0

不问问用户输入,当他们键入字母时,它会出现一个错误消息(如我想),但即使用户输入数字时出现错误。如果输入的是正确的数据,我希望它从这个循环中出来,然后放到下一个名称中。Python 3.4.2循环不

+1

阅读[input()文档](https://docs.python.org/3/library/functions.html#input)。该函数总是返回一个字符串,而不是一个整数。 – skrrgwasme

回答

5

input总是返回文本 - 即使只有数字。

使用int(Telephone)转换为整数或Telephone.isdigit()检查文本中是否只有数字。


BTW:这两种方法是,如果用户使用的空间或电话号码-没用;)

也许你将不得不使用int()isdigit()

+0

OP,请查看['int()'](https://docs.python.org/2/library/functions.html#int)。 – Sam

3
之前删除使用 replace()空间和 -

您需要转换为int:

while True: 
    try: 
     Telephone = int(input("Please enter your telephone number ")) 
     break 
    except ValueError: 
     print ("Sorry, system does not recognise input ") 
+1

说'catch'无效的语法 – Programmer

+0

即使使用此代码并将catch更改为除except它运行,并且每次运行时问题只是不断重复,当它应该移动到下一个循环 – Programmer

+0

看看我添加的新主题混淆 – Programmer