python循环计算水仙花数_我想用python编个小程序,循环计算用户给处的任意两个整数之间的水仙花数。...

匿名用户

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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值