Middle
Πώς βρίσκουμε σε μια συμβολοσειρά το μεγαλύτερο ακέραιο χωρίς να χρησιμοποιούμε κανονικές εκφράσεις στην Python;
sobes.tech AI
Απάντηση από AI
Για να βρείτε το μέγιστο ακέραιο αριθμό σε μια συμβολοσειρά χωρίς να χρησιμοποιήσετε κανονικές εκφράσεις, μπορείτε να διασχίσετε τους χαρακτήρες της συμβολοσειράς, να εντοπίσετε τις ακολουθίες ψηφίων, να τις μετατρέψετε σε αριθμούς και να παρακολουθείτε το μέγιστο.
Παράδειγμα σε Python:
def max_integer_in_string(s):
max_num = None
current_num = ''
for ch in s:
if ch.isdigit():
current_num += ch
else:
if current_num:
num = int(current_num)
if max_num is None or num > max_num:
max_num = num
current_num = ''
# Έλεγχος μετά το βρόχο, αν η συμβολοσειρά τελειώνει με αριθμό
if current_num:
num = int(current_num)
if max_num is None or num > max_num:
max_num = num
return max_num
# Παράδειγμα χρήσης
s = "abc123def45gh6789"
print(max_integer_in_string(s)) # Θα εμφανίσει 6789