我正在要求某人告诉我一个程序,要求用户仅输入9位数字。数字0
开头不是9位数字。
如何限制位数?
例如:
Num=int(input('please Enter a Number'))
if num?!
请尽快帮助我。
答案 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: ")