ஒரு குறிப்பிட்ட புள்ளியில் தொடங்கும் சரத்தை எப்படி மாற்றுவது என்று நீங்கள் எப்போதாவது யோசித்திருக்கிறீர்களா?
ஸ்ட்ரிங் மிரரிங் தான் பதில்!
இந்த அடிப்படை மற்றும் பயனுள்ள அணுகுமுறையானது, ஒரு குறிப்பிட்ட நிலையில் தொடங்கும் ஒரு சரத்தில் உள்ள எழுத்துக்களை புரட்டுவதை உள்ளடக்கியது a புரோகிராமர்களின் திறமையில் ஒரு எளிதான கருவியாகும்.
பைத்தானைப் பயன்படுத்தி ஒரு சரத்தில் உள்ள எழுத்துக்களை எவ்வாறு பிரதிபலிப்பது என்பதைக் கற்றுக்கொள்வது, நீங்கள் ஒரு அனுபவமிக்க டெவலப்பராக இருந்தாலும் அல்லது தொடங்கினாலும் உங்கள் குறியீட்டு திறன்களுக்கு சரியான கூடுதலாகும்.
சரம் பிரதிபலித்தல் என்றால் என்ன?
சரம் பிரதிபலித்தல் என்பது ஒரு வேடிக்கையான மற்றும் பயனுள்ள நிரலாக்க முறையாகும், இதில் ஒரு சரத்தில் உள்ள எழுத்துக்களை மாற்றுவது அடங்கும். இது ஒரு குறிப்பிட்ட இடத்திலிருந்து தொடங்கலாம். இந்த யோசனையை இன்னும் விரிவாகப் பார்ப்போம்:
ஒரு குறிப்பிட்ட குறியீட்டில் தொடங்கும் சரத்தில் உள்ள எழுத்துக்களை புரட்டுவதன் மூலம் சரம் பிரதிபலிப்பு வேலை செய்கிறது.
குறியீட்டுக்கு முந்தைய எழுத்துக்கள் அவற்றின் அசல் இடங்களில் இருக்கும், அதே சமயம் குறியீட்டுக்குப் பின் உள்ள எழுத்துக்கள் தலைகீழாக மாற்றப்படுகின்றன என்பதை இது குறிக்கிறது. எடுத்துக்காட்டாக, குறியீட்டு 5 இல் ஒரு சரத்தை பிரதிபலிக்கத் தொடங்கினால், முதல் ஐந்து எழுத்துக்கள் அவற்றின் அசல் இடங்களில் இருக்கும், மீதமுள்ளவை தலைகீழாக இருக்கும்.
எடுத்துக்காட்டுகள்: இவை சரம் பிரதிபலிப்பின் சில எடுத்துக்காட்டுகள்:
"வணக்கம், உலகம்!" குறியீட்டு 5 இலிருந்து பிரதிபலிப்பதன் விளைவாக "ஹலோ, dlroW!"
குறியீட்டு 1 பிரதிபலித்தால் "I love Python" ஆனது "I enoP tyloP" ஆகிவிடும்.
நீங்கள் பார்க்க முடியும் என, பொறுத்து தொடக்க குறியீடு மற்றும் உள்ளீடு சரம், சரம் பிரதிபலிப்பு சில புதிரான மற்றும் எதிர்பாராத விளைவுகளை வழங்க முடியும்.
ஒரு சரத்தில் உள்ள எழுத்துக்களை பிரதிபலிக்க பைத்தானை எவ்வாறு பயன்படுத்துவது
பைதான் ஒரு சரத்தில் உள்ள தலைகீழ் எழுத்துக்களை எளிதாக்குகிறது. இங்கே, நீங்கள் தேர்ந்தெடுக்கும் nவது புள்ளியில் தொடங்கும் சரத்தைப் பிரதிபலிக்கும் பைதான் நிரலை எவ்வாறு உருவாக்குவது என்பதை நாங்கள் உங்களுக்குக் கூறுவோம்.
ஒரு செயல்பாட்டை வரையறுக்கவும்
ஒரு சரத்தை பிரதிபலிக்க, முதலில் a ஐ வரையறுக்க வேண்டும் பைதான் செயல்பாடு இது இரண்டு வாதங்களை ஏற்றுக்கொள்கிறது: பிரதிபலிக்கப்பட வேண்டிய சரம் மற்றும் பிரதிபலிக்கத் தொடங்கும் n வது நிலை.
def mirror_string(string, n):
சரத்தை வெட்டவும்
n வது இடத்திற்கு முன்னும் பின்னும் உள்ள எழுத்துக்களைப் பிரிக்க சரம் வெட்டப்படும். இந்த நோக்கத்திற்காக நாம் பைத்தானின் ஸ்லைஸ் குறியீட்டைப் பயன்படுத்தலாம்.
left_half = string[:n]
right_half = string[n:]
வலது பாதியை தலைகீழாக மாற்றவும்
சரத்தின் வலது பாதியை மாற்ற, உள்ளமைக்கப்பட்ட தலைகீழ்() முறையைப் பயன்படுத்துவோம்.
reversed_right_half = ''.join(reversed(right_half))
பகுதிகளை ஒன்றாக இணைக்கவும்.
அடுத்து, பிரதிபலித்த சரத்தை உருவாக்க இடது பாதியையும் தலைகீழ் வலது பாதியையும் ஒன்றாக இணைப்போம்.
mirrored_string = left_half + reversed_right_half
return mirrored_string
இன்னும் சிக்கலான உதாரணம்
சரத்தின் பல பிரிவுகள் வெவ்வேறு நிலைகளில் இருந்து பிரதிபலிக்கும் மிகவும் சிக்கலான உதாரணம் இங்கே:
def mirror_string(string, positions):
# Initialize an empty string to hold the mirrored string
mirrored_string = ""
# Initialize the starting index for each segment we want to mirror
start_index = 0
# Loop through each position in the list of positions we want to mirror
for position in positions:
# Get the end index for the current segment we want to mirror
end_index = position[0]
# Add the unmirrored part of the string to the mirrored string
mirrored_string += string[start_index:end_index]
# Update the starting index for the next segment to mirror
start_index = end_index
# If there's an ending index for the current segment, mirror the string
if position[1]:
# Get the ending index for the mirrored segment
mirror_end_index = position[1]
# Reverse the mirrored segment of the string and add it to the mirrored string
mirrored_string += ''.join(reversed(string[end_index:mirror_end_index]))
# Update the starting index for the next segment to mirror
start_index = mirror_end_index
# Add the remaining part of the string to the mirrored string
mirrored_string += string[start_index:]
# Return the final mirrored string
return mirrored_string
இந்தப் புதிய பதிப்பு சரத்தில் உள்ள புள்ளிகளின் பட்டியலை ஏற்றுக்கொள்கிறது, அதை நாம் பிரதிபலிக்க வேண்டும், அதே போல் ஒவ்வொரு பிரதிபலிக்கப்பட்ட பிரிவிற்கும் விருப்பமான முடிவு நிலை.
கீழே காணப்படுவது போல், சரத்தின் மூன்று தனித்தனி பகுதிகளை பிரதிபலிக்க இந்த முறை பயன்படுத்தப்படலாம்:
string = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse sagittis euismod velit sit amet semper."
positions = [(5, 10, 14), (22, 30), (43, 52, 60)]
print(mirror_string(string, positions))
இதன் விளைவாக இப்படி இருக்க வேண்டும்:
Loremuspi m dolor sit oc ,temansectetur adie gnicsiplit. Suspendisse sagittis euismod velit sit amet semper.
வழக்கு உதாரணங்களைப் பயன்படுத்தவும்
சரம் பிரதிபலிப்பு ஒரு எளிய நிரலாக்கப் பயிற்சியாகத் தோன்றலாம், ஆனால் நிஜ உலகச் சூழ்நிலைகளில் இது மிகவும் மதிப்புமிக்கதாக இருக்கும். நாங்கள் எழுதிய சரம் பிரதிபலிப்பு குறியீடு பல்வேறு சூழ்நிலைகளில் எவ்வாறு பயன்படுத்தப்படலாம் என்பதற்கான சில எடுத்துக்காட்டுகள் இங்கே:
தகவல் செயல்முறை
தரவு செயலாக்க பயன்பாடுகளில் உள்ள உரையிலிருந்து பயனுள்ள தரவை மீட்டெடுக்க சரம் பிரதிபலிப்பு பயன்படுத்தப்படலாம். எடுத்துக்காட்டாக, தலைகீழ் வரிசைப்படுத்தப்பட்ட உரையிலிருந்து தயாரிப்புக் குறியீட்டைப் பிரித்தெடுக்கலாம்.
சரத்தின் தொடர்புடைய பகுதியை நாம் எளிதாக மாற்றலாம் மற்றும் சரம் பிரதிபலிப்பைப் பயன்படுத்தி தயாரிப்புக் குறியீட்டை மீட்டெடுக்கலாம்.
பாதுகாப்பு பயன்பாடுகள்
ஸ்டிரிங் மிரரிங் மூலம் தெளிவற்ற சரங்களை உருவாக்க பயன்படுத்தலாம் பாதுகாப்பு பயன்பாடுகள். எடுத்துக்காட்டாக, ஒரு கடவுச்சொல் அல்லது ரகசிய செய்தியை அர்த்தமற்ற சரத்தில் மறைக்க விரும்பலாம்.
புரிந்துகொள்ள கடினமாக இருக்கும் சரத்தின் தெளிவற்ற பதிப்பை உருவாக்க, சரம் பிரதிபலிப்பைப் பயன்படுத்தலாம்.
உரை பகுப்பாய்வு
உரை பகுப்பாய்வு பயன்பாடுகளில் உரையில் உள்ள வடிவங்களைக் கண்டறிய சரம் பிரதிபலிப்பு பயன்படுத்தப்படலாம். எடுத்துக்காட்டாக, பாலிண்ட்ரோம்கள் அல்லது ஒரே மாதிரியான முன்னும் பின்னும் படிக்கும் சொற்களை இலக்கியத்தின் ஒரு பெரிய கார்பஸ் மூலம் தேட விரும்பலாம்.
ஒரு சொல்லை பிரதிபலிப்பதன் மூலமும், ஸ்ட்ரிங் மிரரிங்கைப் பயன்படுத்தி அதை அசலாக ஒப்பிட்டுப் பார்ப்பதன் மூலமும் ஒரு சொல் பாலிண்ட்ரோம்தானா என்பதை நாம் எளிமையாகச் சரிபார்க்கலாம்.
மடக்கு
இறுதியில், சரம் பிரதிபலித்தல் என்பது ஒரு குறிப்பிட்ட இடத்தில் தொடங்கும் ஒரு சரத்தில் உள்ள எழுத்துக்களை மாற்றுவதற்கான ஒரு பயனுள்ள நிரலாக்க நுட்பமாகும். எப்படி பயன்படுத்துவது என்பதை நீங்கள் கற்றுக் கொள்ளலாம் பைதான் முதல் கண்ணாடி சரங்கள் மற்றும் இந்தக் கட்டுரையில் கொடுக்கப்பட்டுள்ள நடைமுறைகளைப் பின்பற்றுவதன் மூலம் உரையின் பிரதிபலிப்பு பதிப்புகளை உருவாக்கவும்.
இந்த திறன் உங்கள் குறியீட்டை மேம்படுத்தவும், உங்கள் பயன்பாடுகளை மேலும் மாற்றியமைக்கவும் உதவும்.
சரம் பிரதிபலித்தல் தரவு குறியாக்கம் மற்றும் பாதுகாப்பில் பயன்படுத்தப்படும் சாத்தியம் உள்ளது. எழுத்துக்களின் சரத்தை பிரதிபலிப்பதன் மூலம் முக்கியமான தரவை குறியாக்க பயன்படுத்தக்கூடிய கிரிப்டோகிராஃபிகலாக பாதுகாப்பான விசையை நீங்கள் உருவாக்கலாம்.
உதாரணமாக, 16-எழுத்துகள் கொண்ட கடவுச்சொல்லை பிரதிபலிப்பதன் மூலம், நீங்கள் 32-எழுத்துகள் கொண்ட விசையை உருவாக்கலாம், இது சிதைப்பது மிகவும் கடினம்.
தரவு சுருக்க முறைகளிலும் சரம் பிரதிபலிப்பு பயன்படுத்தப்படலாம். சரங்களில் உள்ள வடிவங்களை அடையாளம் கண்டு பிரதிபலிப்பதன் மூலம், சுருக்கப்பட்ட தரவு அசல் தரவை விட மிகக் குறைவாக இருக்கும். இதன் விளைவாக விரைவான தரவு பரிமாற்றம் மற்றும் சேமிப்பு தேவைகள் குறையும்.
ஒரு பதில் விடவும்