将1到100的幻数相加的结果是,
magic number series: 0 1 1 10 2 19 3 28 4 37 5 46 6 55 7 64 8 73 9 82 10 91 11 100
为了解决这个问题,我们将遵循以下方法-
创建列表理解以将1到100的值附加到列表ls。
ls = [i for i in range(1,101)]
应用lambda过滤器功能存储可被9个结果整除的值是1。
l = list(filter(lambda i:i%9==1,ls))
从列表中创建一个系列l。
pd.Series(l)
让我们看下面的代码以获得更好的理解,
import pandas as pd
ls = [i for i in range(1,101)]
l = list(filter(lambda i:i%9==1,ls))
print("magic number series:\n",pd.Series(l))创建一个空列表
设置从1到101的循环范围,并将digit_sum设置为0
for i in range(1,101): digit_sum = 0
将i值分配给临时值,以使i值无法更改。
将while循环条件设置为temp> 0
计算余数和digit_sum,如下所示:
while(temp>0): rem = temp % 10 digit_sum = digit_sum + rem temp = temp // 10
最后设置是否要检查digit_sum值是1还是10的条件。如果为true,则将这些值附加到列表中
if(digit_sum==1 or digit_sum==10): l.append(i)
最后,从列表中生成一个序列。
让我们检查以下代码以获得更好的理解-
import pandas as pd
l = []
for i in range(1,101):
digit_sum = 0
temp = i
while(temp>0):
rem = temp % 10
digit_sum = digit_sum + rem
temp = temp // 10
if(digit_sum==1 or digit_sum==10):
l.append(i)
print("magic number series:\n",pd.Series(l))magic number series: 0 1 1 10 2 19 3 28 4 37 5 46 6 55 7 64 8 73 9 82 10 91 11 100