我要求别人告诉我一个要求用户只输入9位数的程序。编号0
不是在开始但有9位数。
如何限制位数?
例如:
Num=int(input('please Enter a Number'))
if num?!
请尽快帮帮我
如果我做对了这应该工作:
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
希望能帮助到你。
好吧,如果我理解正确,你需要一个程序,要求用户输入正好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)
你可以这样做。
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个字符。
在转换为int之前,您可以使用数字的字符串版本来测试其长度。这当然假设您信任用户只输入数字,因为如果接收到任何其他(有几个例外)作为输入,尝试转换为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)
通过等待转换为int,您可以继续检查长度,直到它小于或等于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: ")