匿名用户
1级
2013-11-02 回答
def sxh(begin, end):
#在这里加入判断 begin end 的合法性
#if
#else
lis = []
for n in xrange(begin, end):
i=n/100
j=n/10%10
k=n%10
if i*100+j*10+k==i+j**2+k**3:
lis.append("%-5d" %n)
return lis
print(sxh(100,1001))
追问:
不好意思,您的这个代码我运行返回的是一个空的list!
追答:
def sxh(begin, end):
#在这里加入判断 begin end 的合法性
#if
#else
lis = []
for n in xrange(begin, end):
i=n/100
j=n/10%10
k=n%10
if i*100+j*10+k==i+j**2+k**3:
lis.append("%-5d" %n)
return lis
print(sxh(100,1001))
抱歉 格式弄错了… 给您带来困惑了,
建议题主看看编程中oop的思想 python学习手册值得推荐!
追问:
你好,您的代码现在能正常运行。不过感觉是我表述的不清楚,我希望程序能实现一个功能,就是提示我输入2个数,然后输出这两个数之间的水仙花数,到这里不算结束,程序会继续运行,也就是继续提示输入2个数,然后继续输出。直到我输入某个特定字符,程序才推出运行。本来c很好实现,结果python怎么写都不对。
追答:
def getInput():
begin = raw_input("")
end = raw_input("")
if begin == -1 or end == -1:
pass
else:
sxh(begin, end)
getInput()
def sxh(begin, end):
#在这里加入判断 begin end 的合法性
#if
#else
lis = []
for n in xrange(begin, end):
i=n/100
j=n/10%10
k=n%10
if i*100+j*10+k==i+j**2+k**3:
lis.append("%-5d" %n)
print(lis)
def main():
getInput()