Sobes.tech
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