如何限制输入的位数?

时间:2019-02-14 19:03:40

标签: python

我正在要求某人告诉我一个程序,要求用户仅输入9位数字。数字0开头不是9位数字。

如何限制位数?

例如:

Num=int(input('please Enter a Number'))
if num?! 

请尽快帮助我。

4 个答案:

答案 0 :(得分:1)

如果我理解正确,那么您需要一个要求用户输入准确9位数字的程序。在这种情况下,这很简单。

i = input("Enter a nine digit number: ")

if len(i) != 9:
    print("You must enter 9 digits!")
    quit()

if not i.isdigit():
    print("Your input must be a number!")
    quit()

# num is a 9 digit integer
# i is a 9 digit string
num = int(i)

答案 1 :(得分:1)

如果我没错,这应该可以工作:

a=input()
if len(a)==9 and a[0] != '0' and a.isdigit():
  #if you want it to be integer
  a=int(a)
  do something

希望有帮助。

答案 2 :(得分:0)

您可以这样做。

num = input('Please enter a number')

if not num[0] == "0" and len(num) == 9 and num.isdigit():
        # You can print a message or cast the num into an integer here
        # like this: input_number = int(num)
        print(True)
    else:
        print(False)

因此,这里发生的情况是程序将接受用户输入并评估第一个数字是否为 0 并且该长度恰好为9个字符。

答案 3 :(得分:-1)

在转换为整数之前,可以使用数字的字符串版本测试其长度。当然,这是假设您信任用户仅输入数字,因为如果收到其他输入(除了几个例外),尝试转换为int将会抛出错误。

它应该看起来像这样:

input_number = raw_input("Please enter a number: ")

while len(input_number) > 9:
    input_number = raw_input("That number was more than 9 digits. Please try again: ")

input_number = int(input_number)

通过等待转换为整数,您可以继续检查长度,直到长度小于或等于9。

编辑:

此示例将键入check,因此如果用户输入非数字,它将避免结束程序。

input_number = raw_input("Please enter a number: ")

while (True):
    if len(input_number) > 9:
        input_number = raw_input("That number was more than 9 digits. Please try again: ")
    else:
        try:
            input_number = int(input_number)
            break
        except:
            input_number = raw_input("That wasn't a number! Try again: ")