Δημοσιεύτηκε: 16 Μάιος 2010, 01:38
από Dr.Paneas
ευχαριστώ πολύ sokoban4ever, ήσουν κατατοπιστικότατος. Επί της ευκαιρίας, διαβάζοντας το A Byte of Python κάπου λέει :
έγραψε:Για παράδειγμα, το κείμενο "Rise to vote, sir" είναι παλίνδρομο, αλλά το τρέχον πρόγραμμά μας δεν το λέει. Μπορείτε να αναπτύξετε το ανωτέρο πρόγραμμα για να το αναγνωρίσει σαν παλίνδρομο;


Το προγραμματάκι που έγραψα:
Κώδικας: Επιλογή όλων

#!/usr/bin/env python
# -*- coding: utf-8 -*-

def antistrofi(text):
return text[::-1]

def remove_chars(text):
removed_char_list = (' ', ',', '.', ';', '\'', '\"','\\','/')
for i in range(0,len(removed_char_list)):
text = text.replace(removed_char_list[i], '')
return text

def is_it_palidrome(text):
# Μετέτρεψε όλο το κείμενο σε πεζά (επειδή είναι case sensitive)
text = text.lower()

# Διώξε χαρακτήρες όπως space, τελείες, κόμμα κλπ
text = remove_chars(text)

# Αντέστρεψε το κείμενο
rvsText = antistrofi(text)

# Έλεξε αν τα δύο κείμενα έχουν ίδιους χαρακτήρες 1 προς 1
if text in rvsText:
return True
else:
return False

phrase = input('Πληκτρολογήστε μία φράση: ')

if is_it_palidrome(phrase):
print("Το κείμενο είναι παλινδρομο")
else:
print("Το κείμενο δεν είναι παλινδρομο")