运行后怎么将“你的输入是:x,是六位数”里的x改为相应的数字(即输入数字)

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)

img

直接用变量表示

print("你的输入是:%d,是6位数。"%x)

其他同理。

可以用字符串拼接来做

x=input()
x=str(int(x))
print(f'你的输入是:{x},是{len(x)}位数。')
print('数字从高位到地位分别为:'+' '.join(x))
print(f'这些数字之和是:{sum(map(int,x))}')

img

用格式化字符串的方式可以完成要求
形如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。