这种写法为啥运行不出来呢?有什么改进方法吗?

img

你这个是没有符合条件的结果
你可以print一下所有的值
for n in range(100,1000):
i = n // 100
j = n // 10 % 10
k = n % 10
if n == iii + jjj + kkk:
print(n)

img

你的j 和x 类型不一样,一个是str 一个int,永远也相等不了

if x == j:
改为
if x == i : 

x和j的类型不同,x == j 恒为false

把第十行注释掉,我没发现有需要这一行的地方
十一行改为 if x == i: 即可
不然按照原来的写法你拿一个数字型和一个字符串形式比较,单位都不同怎么可能相等呢

我注意到代码里有用到%和/这2种符号,应该一个是做除法求整一个是做除法求余数吧。这个地方使用好像有点儿不对。
比方说123和100求余数出来的不是1也不是2,而是23;而123与10作除法求整出来结果是12,应该不是想要的结果吧。
另外我不能确认这里的除法会不会变成浮点数的除法而非除后取整。
再者我不能确定乘方符号在算式里是不是会优先于除法和求余数而执行。