मैं इस बारे में सोच रहा हूं कि किसी सूची को एक निश्चित तरीके से कैसे प्रारूपित किया जाए। मुझे एक प्रोग्राम लिखना था जो दो संख्याओं के बीच सभी प्राइम सूचीबद्ध करता है और फिर उन्हें एक निश्चित तरीके से प्रिंट करता है। मुझे पता चला कि उन्हें कैसे सूचीबद्ध किया जाए लेकिन मुझे एक निश्चित तरीके से देखने की जरूरत है। तरीका यह होना चाहिए: पहला अंक: दूसरा अंक! तीसरा अंक और चौथा अंक: पांचवां अंक! छठा अंक और सातवां अंक

उदाहरण के लिए, यदि 5 और 24 को उसी क्रम में दर्ज किया गया था, तो 7:11!13&17:19!23 प्रिंट आउट हो जाएगा।

मैं .format का उपयोग करने के बारे में सोचूंगा लेकिन यह सुनिश्चित नहीं है कि कैसे दोहराना है क्योंकि सूची 5 से 56 हो सकती है।

इसके अलावा, मैं बाहरी पुस्तकालयों का उपयोग नहीं कर सकता, इसलिए कोई numpy, sympy, itertools इत्यादि।

कोई विचार? धन्यवाद

-1
TCL9111 3 फरवरी 2020, 21:23

1 उत्तर

सबसे बढ़िया उत्तर

आपकी समस्या अनिवार्य रूप से यह है, एक सूची दी गई है [a,b,c,d,e,f,.....] जहां a,b,c,d,e,f,.... पूर्णांक हैं। फ़्लोरिंग पैटर्न वाली स्ट्रिंग कैसे प्राप्त करें a:b!c&d:e!f&....

ऐसा करने के लिए आप केवल 3 के साथ प्रत्येक पूर्णांक के शेष सूचकांक की जांच कर सकते हैं और तदनुसार इसे प्रारूपित कर सकते हैं।

def format_str(numbers):
    result= ''
    for i in range(len(numbers)):
        if i%3 == 0:
            result += str(numbers[i])+':'
        elif i%3 == 1:
             result += str(numbers[i])+'!'
        else:
             result += str(numbers[i]+'&'
     return result

संपादित करें

यदि आप चाहते हैं कि अंतिम अंक किसी विशेष वर्ण के साथ न जोड़ा जाए तो आप बस इस तरह की शर्त रख सकते हैं

def format_str(numbers):
    result = ''
    postfix = ''
    for i in range(len(numbers)):
        if i == len(numbers) - 1:
             postfix = ''
        elif i%3 == 0: 
             postfix = ':'
        elif i%3 == 1:
             postfix = '!'
        else:
             postfix = '&'
        result += str(numbers[i])+postfix
     return result
0
sudo97 4 फरवरी 2020, 00:56