x = int(input("请输入一个数:\n"))
a = x// 100000
b = (x % 100000) // 10000
c = (x % 10000) // 1000
d = (x % 1000) // 100
e = (x % 100) // 10
f = (x % 10)
if a !=0:
print("你的输入是:x,是6位数。")
print('数字从高位到地位分别为:', a, b, c, d, e, f,)
print('这些数字之和是:',a+b+c+d+e+f)
elif b !=0:
print("你的输入是:x,是5 位数。")
print('数字从高位到地位分别为:', b, c, d, e, f,)
print('这些数字之和是:',b+c+d+e+f)
elif c != 0:
print("你的输入是:x,是4 位数。")
print('数字从高位到地位分别为:', c, d, e, f,)
print('这些数字之和是:',c+d+e+f)
elif d != 0:
print("你的输入是:x,是3 位数。")
print('数字从高位到地位分别为:', d, e, f,'')
print('这些数字之和是:',d+e+f)
elif e != 0:
print("你的输入是:x,是2 位数。")
print('数字从高位到地位分别为:', e, f,)
print('这些数字之和是:',e+f)
else:
print("你的输入是:x,是1 位数。")
print('数字从高位到地位分别为:', f,)
print('这些数字之和是:',f)
直接用变量表示
print("你的输入是:%d,是6位数。"%x)
其他同理。
可以用字符串拼接来做
x=input()
x=str(int(x))
print(f'你的输入是:{x},是{len(x)}位数。')
print('数字从高位到地位分别为:'+' '.join(x))
print(f'这些数字之和是:{sum(map(int,x))}')
用格式化字符串的方式可以完成要求
形如print(f"你的输入是:{x},是1 位数。")
用格式化输出,f-string用大括{ }表示被替换字段。
print(f"你的输入是:{x},是6位数。")
具体用法参考:
https://zhuanlan.zhihu.com/p/140898888
print("你的输入是:x,是6位数。")改成print("你的输入是:%d,是6位数。",x)。%d格式符,意思输出int型变量。输出后,逗号后面的x会取代%d。就成了:你的输入是:x,是6位数。其他类似。输出int、float、double型分别用格式符%d、%f、%lf。