Python: looping over characters in a string when string is changing -
def substitutionEncrypt1 (पाठ, कुंजी): plaintext = text.lower () alphabet = "abcdefghijklmnopqrstuvwxyz" ch के लिए
मेरे पाठ "त्वरित ब्राउन फॉक्स" है, मैं समझता हूँ कि यह क्यों नहीं करता है एक प्रतिस्थापन सिफर को ठीक से एन्क्रिप्ट नहीं किया जाता है, लेकिन अजगर पांचवें पंक्ति में त्रुटि कहां से कहता है "substring नहीं मिला"? क्या मैं सादे टेक्स्ट में अक्षरों के माध्यम से नहीं चल रहा हूं?
आपको पुनरावृत्त नहीं करना चाहिए कुछ पर (यह एक सूची, या एक सेट, या एक शब्दकोश ... आपको यह विचार मिलता है) कि एक ही समय में संशोधित किया जा रहा है - और इसके अलावा, एक स्ट्रिंग अपरिवर्तनीय है, इसलिए वास्तविकता में आप प्रत्येक पुनरावृत्ति पर नए स्ट्रिंग्स का निर्माण कर रहे हैं। पायथन में प्रतिस्थापन सिफर को लागू करने के लिए, उपयोग करने से कुछ भी आसान नहीं है - और हम दोनों दिशाओं में अनुवाद का काम कर सकते हैं:
आयात स्ट्रिंग वर्णमाला = 'abcdefghijklmnopqrstuvwxyz' subst = 'edbjvushlpknyxt foqiwacrzgm' तालिका = String.maketrans (वर्णमाला, ऑब्जेक्ट) 'हैलो वर्ल्ड'। ट्रांसस्लेट (तालिका) = & gt; 'Hvnntmctonj' table = string.maketrans (subst, alphabet) 'hvnntmctonj'.translate (तालिका) = & gt; 'हैलो वर्ल्ड'
Comments
Post a Comment