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
1 से 100 तक के मानों को सूची ls में जोड़ने के लिए लिस्ट कॉम्प्रिहेंशन बनाएं।
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 मान न बदले।
व्हाइल लूप शर्त को temp > 0 पर सेट करें
शेष और digit_sum की गणना निम्नानुसार करें:
while temp > 0:
rem = temp % 10
digit_sum = digit_sum + rem
temp = temp // 10
अंत में if शर्त सेट करें digit_sum मान या तो 1 या 10 है। यदि यह सच है तो मानों को सूची में जोड़ें।
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