मैंने एक ऐसा फ़ंक्शन लिखा है जो कुछ स्थान और समय को बचाने के लिए एक चरण विकल्प के साथ दो अंकों के समूहों के बीच एक टेक्स्ट फ़ाइल में सहेजता है, और मैं यह समझ नहीं पाया कि प्रतिशत मूल्य कैसे दिखाया जाए, इसलिए मैंने कोशिश की ।पुनरावृत्त ऑपरेशन के प्रतिशत की गणना करने का सबसे अच्छा तरीका क्या है?
for length in range(int(limit_min), int(limit_max) + 1):
percent_quotient = 0
j=0
while j <= (int(length * "9")):
while len(str(j)) < length:
j = "0" + str(j)
percent_quotient+=1
j = int(j) + int(step) # increasing dummy variable
for length in range(int(limit_min), int(limit_max) + 1):
counter=1
i = 0
while i <= (int(length * "9")):
while len(str(i)) < length:
i = "0" + str(i) #
print "Writing %s to file. Progress: %.2f percent." % (str(i),(float(counter)/percent_quotient)*100)
a.write(str(i) + "\n") # this is where everything actually gets written
i = int(i) + int(step) # increasing i
counter+=1
if length != int(limit_max):
print "Length %i done. Moving on to length of %i." % (length, length + 1)
else:
print "Length %i done." % (length)
a.close() # closing file stream
print "All done. Closed file stream. New file size: %.2f megabytes." % (os.path.getsize(path)/float((1024 ** 2)))
print "Returning to main..."
मैं यहाँ करने की कोशिश की क्या था कार्यक्रम बनाने के लिए एक यात्रा के रूप में कई बार यह आम तौर पर यह करना होगा के रूप में करते हैं, लेकिन किसी फ़ाइल के लिए लिखने की बजाय, मैं सिर्फ percent_quotient चर गिनती कितनी बार यात्रा वास्तव में है बनाया दोहराया जा रहा है। (मैंने j
डमी वैरिएबल कहा क्योंकि यह केवल लूप को तोड़ने के लिए है; मुझे खेद है कि इसके लिए कोई और अभिव्यक्ति है।) दूसरा भाग वास्तविक काम है और मैंने काउंटर वैरिएबल डाला है, और मैं इसे percent_quotient
से विभाजित करता हूं और साथ गुणा करता हूं प्रतिशत प्राप्त करने के लिए 100।
समस्या यह है कि, जब मैंने 1 से लंबाई की लंबाई से 1 शब्दकोश बनाने की कोशिश की, तो वास्तव में सब कुछ गिनने में एक मिनट लग गया। मुझे लगता है कि अगर मैं भी बड़ा शब्दकोश बनाना चाहता हूं तो इसमें अधिक समय लगेगा।
मेरा सवाल है, क्या ऐसा करने का एक बेहतर/तेज़ तरीका है?
आपकी पोस्ट में थोड़ी सी डरावनी लम्बाई थी इसलिए मैंने कुछ पृष्ठभूमि कहानी को छीन लिया जो मुझे लगता है कि यहां बहुत सारे उपयोगकर्ता अप्रासंगिक मानेंगे। उम्मीद है कि मैंने बहुत ज्यादा कटौती नहीं की है। बेशक पूछने वाले के रूप में आप मेरे संपादन को वापस करने के लिए स्वतंत्र हैं (जैसा कि उनके प्रतिनिधि के आधार पर यहां कई अन्य उपयोगकर्ता हैं)। –
नहीं, सब ठीक है, मुझे खेद है। असल में, धन्यवाद, मुझे लगता है कि अगर लोग इसे बहुत लंबे समय तक पाते हैं तो अधिक लोग इसे बच जाएंगे। – Meaty