Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Viết chương trình thêm Magic Numbers từ 1 đến 100 vào Pandas Series


Kết quả thêm magic numbers từ 1 đến 100 như sau:

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

Để giải quyết bài toán này, chúng ta sẽ làm theo các cách tiếp cận dưới đây:

Giải pháp 1

  • Tạo list comprehension thêm giá trị 1 đến 100 vào list ls
ls = [i for i in range(1, 101)]
  • Áp dụng lambda filter để giữ giá trị chia 9 dư 1
l = list(filter(lambda i: i % 9 == 1, ls))
  • Tạo Series từ list l
pd.Series(l)

Ví dụ

Hãy xem mã dưới đây để hiểu rõ hơn:

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))

Đầu ra

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

Giải pháp 2

  • Tạo danh sách rỗng
  • Thiết lập vòng for từ 1 đến 101, đặt digit_sum = 0
for i in range(1, 101):
    digit_sum = 0
  • Gán i vào biến tạm temp để i không bị thay đổi
  • Thiết lập while loop điều kiện temp > 0
  • Tính remainder và digit_sum như sau:
while temp > 0:
    rem = temp % 10
    digit_sum = digit_sum + rem
    temp = temp // 10
  • Cuối cùng thiết lập điều kiện if kiểm tra digit_sum bằng 1 hoặc 10. Nếu đúng thì thêm vào list
if digit_sum == 1 or digit_sum == 10:
    l.append(i)
  • Cuối cùng, tạo Series từ list

Ví dụ

Hãy kiểm tra mã sau để hiểu rõ hơn:

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))

Đầu ra

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