1. 编写一个程序,求 100~999 之间的所有水仙花数。 Python 009讲课后作业
for a in range(1,10):for b in range(1,10):
for c in range(1,10):
if 'a**3 + b**3 + c**3' =='abc':
print(a,b,c)
求大神指点问题出在哪 for a in range(1,10):
for b in range(1,10):
for c in range(1,10):
if a**3 + b**3 + c**3 == a*100+b*10+c:
print(a*100+b*10+c)
这样就可以啦! 本帖最后由 灰色的天空 于 2019-8-27 23:45 编辑
你非要字符串来比较就
for a in range(1,10):
for b in range(1,10):
for c in range(1,10):
if '%d'%(a**3+b**3+c**3) =='%d%d%d'%(a,b,c):
print(a,b,c) for a in range(1,10):
for b in range(0,10): # 十位数应该是从0到9
for c in range(0,10): # 个位数应该是从0到9
if '%d'%(a**3+b**3+c**3) =='%d%d%d'%(a,b,c):
print('%d%d%d'%(a,b,c))
字符串不能进行比较。正确代码如下:
for a in range(1,10):
for b in range(10):
for c in range(10):
if a**3 + b**3 + c**3 == int(f'{a}{b}{c}'):
print(f'{a}{b}{c}') 我记得字符串比较不了 这样也可以:
if a**3 + b**3 + c**3 ==int(str(a)+str(b)+str(c)): 是的,真正的输出是一个数而不是三个数。
页:
[1]