注意到for…else…语句,其中else相当于一个奖励执行,即当数字为素数时,执行求和。else于for、while等组合时均可当作一个奖励执行语句。
sum = 0
for k in range(2,100):
for j in range(2,k+1):
if k % j == 0 and j != k:
break
else:
sum +=k
print(sum)
这里用到了str()函数将对象化为字符串,来调出相应位数的数值大小。
t = ""
for k in range(100,1000):
if eval(str(k)[0])**3+eval(str(k)[1]) \
**3+eval(str(k)[2])**3 == k:
t +="{},".format(k)
print(t[:-1])