Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

판다 시리즈에 1부터 100까지의 매직넘버를 추가하는 프로그램을 작성하세요.

<시간/>

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

  • 목록 ls에 1~100개의 값을 추가하는 목록 이해를 만듭니다.

ls = [i for i in range(1,101)]
  • 람다 필터 함수를 적용하여 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))

출력

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

해결책 2

  • 빈 목록 만들기

  • 루프 범위를 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
  • 마지막으로 if 조건을 설정하여 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