Python3 2022习题2 水仙花数
水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身(例如,1 ** 3 + 5 ** 3 + 3 ** 3 = 153),输出所有3位的水仙花数。
有效信息
输出所有3位的水仙花数:确定了循环的范围(100-999);语句for i in range(100,1000),range是一个左闭右开的范围
代码实现
def sxh (n):
if n == int(str(n)[0])**3 + int(str(n)[1])**3 + int(str(n)[2])**3:
return 1
else:
return 0
#判断是否是水仙花数
ls = []
#定义一个空列表来存输出的数据
for i in range(100,1000):
#循环的范围由题目可以知道是100-999
if sxh(i):
ls.append(i)
print(','.join(str(i) for i in ls))
易错点
有的同学会使用
print(i,end=',')
但是这样最后的结果会变成
153,370,371,407,
最后多了一个",",这还是比较明显的,如果是用' '分隔开的,考试时机器判题
153 370 371 407
#末尾无空格
和
153 370 371 407
#末尾多了一个空格
第二个答案就是错误的

浙公网安备 33010602011771号