制作一个输入1-999的自然数,然后判断该数是几位数的程序
如果输入的数字不是1-999的自然数,则必须出现错误输入的提示
使用if句进行编程
用中文数字一二三表示位数应该怎么编程呀?
例:请输入1-999中其中一个数字. :7
输入的数字7是一位数.
请输入1-999中其中一个数字. :300
输入的数字7是三位数.
import re
a = input("please input your num\n")
a = re.sub("^0*","",a) #如果字符前面出现了0,则将0剔除
if a.isdigit() == False:
print("您的输入中含有非法字符串,请输入数字,不要含有别的非法字符")
exit(-1)
if len(a) > 5:
print("您输入的数字大于五位数,请输入一个小于5位数字的数")
exit(0)
print("您输入的数字的位数为%d"%len(a))
s=input('请输入1-999中其中一个数字. :')
if s.isdigit():
n=int(s)
if 0<n<1000:
if len(s)==1:
print('输入的数字{}是一位数'.format(n))
elif len(s)==2:
print('输入的数字{}是两位数'.format(n))
else:
print('输入的数字{}是三位数'.format(n))
else:
print('输入错误')
else:
print('输入错误')
我之前的回答,直接用逻辑判断
x = int(input())
f = lambda x: "你输入的数字是一位数" if 1 <= x <= 9 else "你输入的数字是二位数" if 10 <= x <= 99 else "你输入的数字是三位数" if 100 <= x <= 999 else "输入错误!请输入1-999"
print(f(x))