这是Digit fifth powers 我不知道为什么我的" ans"为零,因为each_sum应具有其值并在
中相加ans = ans + each_sum
并且
中有一个匹配的数字i == i.to_s.each_char{|c| each_sum = each_sum + c.to_i**5 }
代码
def digit_fifth_powers
max = 0
4.times {max = max + 9**5} #max = 236196
each_sum,ans = 0,0
(2..max).each do |i|
if i == i.to_s.each_char{|c| each_sum = each_sum + c.to_i**5 }
ans = ans + each_sum
end
end
ans
end
p digit_fifth_powers
ans是0
答案 0 :(得分:1)
好。我检查了两次,我之前的回答是不正确的。
点是i.to_s == ...
是Fixnum,而long语句返回String,因此条件为false。设为>>> from functools import wraps
>>>
>>> def p(api=False):
def decorator(f):
@wraps(f)
def decorated_f(*args, **kwargs):
print(api)
return f(*args, **kwargs)
return decorated_f
return decorator
>>> @p(api=True)
def a():
return 'api'
>>> a()
True
'api'