Λήψη χαρακτήρων από αριθμό στην Python
Ας εξετάσουμε την περίπτωση που θέλουμε να προσθέσουμε όλα τα ψηφία ενός αριθμού. Εάν απευθυνθούμε σε αυτά με δείκτες όπως σε μια συμβολοσειρά, θα λάβουμε σφάλμα:
num = 123
print(num[0] + num[1]) # θα εμφανίσει σφάλμα
Για να αποφύγουμε το σφάλμα, πρέπει πρώτα να μετατρέψουμε τα ψηφία σε συμβολοσειρές. Στη συνέχεια, τον επιθυμητό χαρακτήρα συμβολοσειράς να τον μετατρέψουμε ξανά σε αριθμητικό τύπο:
txt = '123'
print(txt[0] + txt[1]) # θα εμφανίσει '12' - θα τα αθροίσει ως συμβολοσειρές
Όπως βλέπετε, οι χαρακτήρες της συμβολοσειράς μας
είναι επίσης συμβολοσειρές και αθροίζονται ως συμβολοσειρές.
Ας υποθέσουμε ότι θέλουμε να τα προσθέσουμε ως αριθμούς. Για
να το κάνετε αυτό, εφαρμόστε σε κάθε χαρακτήρα της συμβολοσειράς
τη συνάρτηση int:
num = 123
txt1 = str(num)[0]
txt2 = str(num)[1]
res = int(txt1) + int(txt2)
print(res) # θα εμφανίσει 3
Δίνεται αριθμός:
tst = 123
Βρείτε το άθροισμα των ψηφίων αυτού του αριθμού.
Δίνεται αριθμός:
tst = 4567
Προσθέστε τα δύο πρώτα ψηφία. Και στη συνέχεια από
το αποτέλεσμα που προέκυψε αφαιρέστε το τελευταίο
ψηφίο του αριθμού 4567.