python 水仙花数
print('100~1000的水仙花数有:',end='')for i in range(100,1001,1):
a=(i%10)**3
b=((i%100-i%10)/10)**3
c=((i%1000-i%100)/100)**3
if i==a+b+c:
print(i)
能不能帮我把答案弄成一行的排列过去,不要换行 设置 print() 的 end 参数就可以了:
print('100~1000的水仙花数有:', end='')
for i in range(100, 1001, 1):
a = (i % 10) ** 3
b = ((i % 100 - i % 10) / 10) ** 3
c = ((i % 1000 - i % 100) / 100) ** 3
if i == a + b + c:
print(i, end=' ') 再问一个小问题,调用函数和使用运算符哪个效率更高呀 4399king 发表于 2020-7-22 18:31
再问一个小问题,调用函数和使用运算符哪个效率更高呀
你的意思是? i=100
while i<1000:
a=(i%10)**3
b=int((i/10)%10)**3
c=int((i/100)%10)**3
if a+b+c==i:
这段代码和您给出的那段比较,哪个更好,为什么呢
print(i)
i=i+1 i=100
while i<1000:
a=(i%10)**3
b=int((i/10)%10)**3
c=int((i/100)%10)**3
if a+b+c==i:
print(i)
i=i+1
这段代码和您给出的那段比较,哪个更好,为什么呢 4399king 发表于 2020-7-22 18:53
这段代码和您给出的那段比较,哪个更好,为什么呢
我觉得效率都差不多,只是用 for 循环更为简洁
页:
[1]