+ -
当前位置:首页 → 问答吧 → 求助:简单程序结果出错

求助:简单程序结果出错

时间:2011-02-11

来源:互联网

n=153
i = n / 100
j = n / 10 % 10
k = n % 10
print('%d'%i)
print('%d'%j)
print('%d'%k)
m=i*2
print('%d'%m)

本来写个水仙花程序,i,j,k输出都没问题,不过不能对i,j,k进行再运算,比如这个i*2,本来应该输出2,但是输出结果是3。
这次没有拼写错误了吧。

作者: wzy110   发布时间: 2011-02-11

>>> n=153
>>> i = n / 100
>>> j = n / 10 % 10
>>> k = n % 10
>>> print('%d'%i)
1
>>> print('%d'%j)
5
>>> print('%d'%k)
3
>>> m=i*2
>>> print('%d'%m)
2
啥结果是三啊?

作者: sunming2008   发布时间: 2011-02-11

引用 1 楼 sunming2008 的回复:
>>> n=153
>>> i = n / 100
>>> j = n / 10 % 10
>>> k = n % 10
>>> print('%d'%i)
1
>>> print('%d'%j)
5
>>> print('%d'%k)
3
>>> m=i*2
>>> print('%d'%m)
2
啥结果是三啊?

我的结果:
>>> 
1
5
3
3
>>>

作者: wzy110   发布时间: 2011-02-11

>>> 
1
5
3
3
>>> print('%d'%m)
3
>>> print('%d'%i)
1
>>> 
搞死人啊,不知道为什么啊,源程序就是我帖子里的程序m=i*2,我的python是3.1.2版本

作者: wzy110   发布时间: 2011-02-11

由于出现了以上不正确的计算结果,导致我写的水仙花程序运行不出正常结果
for n in range(100,100):
  i = n / 100
  j = n / 10 % 10
  k = n % 10
  if n == i + j ** 2 + k ** 3:
  print ('%d' % n)
运行结果:
>>> ================================ RESTART ================================
>>> 
>>> 
意思就是100到1000之间没有找到水仙花数

作者: wzy110   发布时间: 2011-02-11