Δημοσιεύτηκε: 28 Ιουν 2011, 01:26
Να συνεχίσω την απορία μου απ' την προηγούμενη σελίδα καθώς βρήκα μια λύση αλλά δεν μπορώ να την χρησιμοποιήσω ακόμα.
Σκέφτηκα να χρησιμοποιήσω την συνάρτηση exec.
Έτσι απ' την κλάση που έδειξα και προηγουμένως:
Αν κάνω το παρακάτω και εισάγω Giannis, το πρόγραμμα θα δουλέψει άψογα:
Θα εισάγω δηλαδή τα στοιχεία του Giannis και θα τα πάρω πίσω με την tell().
Αν όμως κάνω μια μικρή αλλαγή και εισάγω και στο a και στο b Giannis, θα έχω πρόβλημα:
Θα πάρω σφάλμα:
(Σκέφτηκα ότι αφού το a θα το ορίσω σαν Giannis και το b πάλι σαν Γιάννης θα δουλέψει, αλλά τελικά το Epafes(1) αντιστοιχίζεται στην μεταβλητή a η οποία πριν απλά είχε την τιμή "Giannis".)
Πως θα το κάνω να καταλάβει ότι το b και το a είναι και τα δύο Giannis;
Ευχαριστώ εκ των προτέρων για οποιαδήποτε απάντηση!

Σκέφτηκα να χρησιμοποιήσω την συνάρτηση exec.
Έτσι απ' την κλάση που έδειξα και προηγουμένως:
Spoiler: show
Αν κάνω το παρακάτω και εισάγω Giannis, το πρόγραμμα θα δουλέψει άψογα:
- Κώδικας: Επιλογή όλων
Giannis = Epafes(1)
print('Poia epafi theleis na deis?') ; b = input()
symvolosira = b + '.tell()'
exec(symvolosira) # Η exec μετατρέπει το αλφαριθμητικό a στο όνομα της μεταβλητής στην προκειμένη περίπτωση.
Θα εισάγω δηλαδή τα στοιχεία του Giannis και θα τα πάρω πίσω με την tell().
Αν όμως κάνω μια μικρή αλλαγή και εισάγω και στο a και στο b Giannis, θα έχω πρόβλημα:
- Κώδικας: Επιλογή όλων
print('Pws na onomastei i epafi?') ; a = input()
a = Epafes(1)
print('Poia epafi theleis na deis?') ; b = input()
symvolosira = b + '.tell()'
exec(symvolosira)
Θα πάρω σφάλμα:
Spoiler: show
(Σκέφτηκα ότι αφού το a θα το ορίσω σαν Giannis και το b πάλι σαν Γιάννης θα δουλέψει, αλλά τελικά το Epafes(1) αντιστοιχίζεται στην μεταβλητή a η οποία πριν απλά είχε την τιμή "Giannis".)
Πως θα το κάνω να καταλάβει ότι το b και το a είναι και τα δύο Giannis;

Ευχαριστώ εκ των προτέρων για οποιαδήποτε απάντηση!