def print_factors(x):
    arr = []
    for i in range(1, x+1):
        if x % i == 0:
            arr.append(i)
    for index, value in enumerate(arr, start = 1):
        print(index, value)

num = 10
print_factors(num)

Output :
1 1
2 2
3 5
4 10

अब मुझे विशिष्ट सूचकांक मूल्य चाहिए। उदाहरण: 3 दर्ज करें, आउटपुट 5 होगा; 4 दर्ज करें, आउटपुट 10 होगा;

कृपया मेरे तर्क को साफ़ करने में मदद करें।

-2
Parth Bhavsar 31 अक्टूबर 2021, 01:30
1
आपको यहां और अधिक विशिष्ट होने की आवश्यकता है
 – 
Mahrkeenerh
31 अक्टूबर 2021, 01:31
सूची सूचकांक 0 से शुरू होते हैं। यदि 1-आधारित अनुक्रमणिका दर्ज की जाती है, तो आपको सूची के लिए आंतरिक 0-आधारित अनुक्रमणिका प्राप्त करने के लिए 1 घटाना होगा। समस्या क्या है?
 – 
Michael Butscher
31 अक्टूबर 2021, 01:50

1 उत्तर

यदि आप सरणी से मान की जांच करने के लिए एक अनुक्रमणिका दर्ज करने में सक्षम होना चाहते हैं, तो बस सरणी वापस करें ताकि आप मान प्राप्त कर सकें। हम मान प्राप्त करने के लिए सरणी से किसी भी इंडेक्स को दर्ज कर सकते हैं।

def print_factors(x):
    arr = []
    for i in range(1, x+1):
        if x % i == 0:
            arr.append(i)
    #print(arr)
    for index, value in enumerate(arr, start = 1):
        print(index, value)
    return arr

num = 10
arr = print_factors(num)
print(arr[2]) # what is index 2!

इसे लिखने का यह एक बेहतर तरीका हो सकता है। एक फ़ंक्शन है जो सरणी बनाता है, और दूसरा जो कारकों और अनुक्रमणिका को प्रिंट कर सकता है

def build_factors(x):
    arr = []
    for i in range(1, x+1):
        if x % i == 0:
            arr.append(i)
    return arr

def print_factors(arr):
    for index, value in enumerate(arr, start = 1):
        print(index, value)

num = 10
arr_factors = build_factors(num)

print_factors(arr_factors)
print(arr_factors[2]) # what is index 2!
0
Daniel me 31 अक्टूबर 2021, 01:52