ผลลัพธ์สำหรับการ Append Magic Numbers 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
เพื่อแก้ปัญหานี้ เราจะทำตามวิธีด้านล่าง −
Solution 1
สร้าง List Comprehension Append ค่า 1 ถึง 100 เข้า List ls
ls = [i for i in range(1,101)]
ใช้ Lambda Filter Function เก็บค่าที่หาร 9 เหลือ 1
l = list(filter(lambda i:i%9==1,ls))
สร้าง Series จาก List 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))
ผลลัพธ์
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
Solution 2
สร้าง List ว่าง
ตั้ง For Loop Range 1 ถึง 101 และตั้ง digit_sum = 0
for i in range(1,101):
digit_sum = 0
Assign ค่า i ไปตัวแปร Temp เพื่อไม่ให้ i เปลี่ยน
ตั้ง While Loop Condition temp>0
คำนวณ Remainder และ digit_sum ดังนี้
while(temp>0):
rem = temp % 10
digit_sum = digit_sum + rem
temp = temp // 10
สุดท้าย ตั้ง If Condition ตรวจสอบ digit_sum เป็น 1 หรือ 10 หากจริง Append ค่าเข้า List
if(digit_sum==1 or digit_sum==10):
l.append(i)
สุดท้าย สร้าง Series จาก List
ตัวอย่าง
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