Kyrki Δημοσ. 3 Ιανουαρίου 2019 Δημοσ. 3 Ιανουαρίου 2019 1. Ποιο θα είναι το αποτέλεσμα του παρακάτω κώδικα και γιατί; >>> def func(a, b=4, c=5): print(a, b, c) >>> func(1, 2) 2. Ποιο θα είναι το αποτέλεσμα του παρακάτω κώδικα και γιατί; >>> def func(a, b, c=5): print(a, b, c) >>> func(1, c=3, b=2) 1. Ποιο θα είναι το αποτέλεσμα του παρακάτω κώδικα και γιατί; >>> def func(a, b, c=3, d=4): print(a, b, c, d) >>> func(1, *(5, 6)) 2. Ποιο θα είναι το αποτέλεσμα του παρακάτω κώδικα και γιατί; >>> def func(a, b, c): a = 2; b[0] = 'x'; c['a'] = 'y' >>> l=1; m=[1]; n={'a':0} ΛΟΙΠΟΝ, ΑΥΤΗ ΕΙΝΑΙ Η ΑΣΚΗΣΗ ΠΟΥ ΜΟΥ ΕΧΕΙ ΔΩΘΕΙ! ΘΑΣ ΑΠΑΝΤΗΣΩ ΤΙΣ ΕΡΩΤΗΣΕΙΣ ΚΑΙ ΘΕΛΩ ΝΑ ΜΕ ΔΙΟΡΘΩΣΕΤΕ ΚΑΙ ΠΡΟΦΑΝΩΣ ΝΑ ΜΟΥ ΕΞΗΓΗΣΕΤΕ ΟΣΟ ΜΠΟΡΕΙΤΕ! 1.1 ο κωδικας ειναι μη λειτουργικος και αυτοο γιατι διαφερουν οι συμβολοσειρες δηλ. στην fun εχουμε ορισει το a,b,c ενω μετα την print θετουμε το 1,2 1,2 παλι μη λειτουργικος εχουμε ορισει στην func τo a,b,c και μετα την print οριζουμε εκ νεου? 2.1 syntax error ξεκαθαρο μιας και η print βρισκεται διπλα απο την func ενω θα επρεπε να ειναι κατω και με εσοχη 2,2 ισχυει το ιδιο με την 2,1 ΑΥΤΟ ΠΟΥ ΣΙΓΟΥΡΑ ΔΕΝ ΜΠΟΡΩ ΝΑ ΚΑΤΑΛΑΒΩ ΕΙΝΑ ΟΙ 2 ΠΡΩΤΕΣ ΘΕΩΡΩ ΠΩΣ ΕΧΩ ΠΕΣΕΙ ΠΟΛΥ ΕΞΩ ΣΤΙΣ ΑΠΑΝΤΗΣΕΙΣ ΚΑΙ ΕΠΙΣΗΣ ΣΤΙΣ 2 ΤΕΛΕΥΤΑΙΕΣ ΕΝΑ ΥΠΑΡΧΕΙ ΚΑΙ ΚΑΠΟΙΟ ΑΛΛΟ BUG ΕΚΤΟΣ ΑΠΟ ΤΗΝ ΣΥΝΤΑΞΗ ΟΣΟ ΑΝΑΦΟΡΑ ΤΗΝ ΔΟΜΗΣΗ ΠΑΡΑΚΑΛΩ ΑΠΟΦΥΓΕΤΕ ΤΟ ΚΡΑΞΙΜΟ ΟΣΟ ΜΠΟΡΕΙΤΕ ΠΡΟΣΠΑΘΩ ΝΑ ΜΑΘΩ ΚΑΙ ΑΥΤΟΣ ΕΙΝΑΙ Ο ΛΟΓΟΣ ΠΟΥ ΑΠΕΥΘΥΝΟΜΑ ΕΔΩ. ΕΥΧΑΡΙΣΤΩΩΩΩΩ!
ajaxmonkey4hire Δημοσ. 3 Ιανουαρίου 2019 Δημοσ. 3 Ιανουαρίου 2019 (επεξεργασμένο) λειτουργικός. Δίνει 1,2,5 βάζει δηλαδή το 1 στο α, το 2 στο b και το default από την declaration για το c(=5) λειτουργικός. Δίνει 1,2,3 το 1 στο α 3 στο c και 2 στο b λειτουργικός. Δίνει 1,5,6,4 το * κάνει expand στο tuple (5, 6) οπότε έχεις a=1 b=5 c=6 και το default για το d=4 λειτουργικός. Δεν δίνει τίποτα επειδη δεν καλείται η func στο παράδειγμα. Αν έχεις υπολογιστή πάνε στο https://www.python.org/downloads/ εγκατέστησε το, άνοιξε την console, ξεκίνα την python και δοκίμασε τα. Επεξ/σία 3 Ιανουαρίου 2019 από ajaxmonkey4hire
pmav99 Δημοσ. 3 Ιανουαρίου 2019 Δημοσ. 3 Ιανουαρίου 2019 (επεξεργασμένο) 1 ώρα πριν, Kyrki είπε ΠΡΟΣΠΑΘΩ ΝΑ ΜΑΘΩ Tέλεια! Από τις απαντήσεις σου βέβαια είναι προφανές ότι δεν έχεις κάνει καν τον κόπο να γράψεις τις ερωτήσεις που σου έδωσαν στον interpreter. Οπότε ξεκίνα εγκαθιστώντας την Python και συνέχισε διαβάζοντας τις σημειώσεις σου. ΥΓ. Να υποθέσουμε και ότι μόνο τα κεφαλαία είναι δικά σου; --------------- 1 ώρα πριν, ajaxmonkey4hire είπε λειτουργικός. Δεν δίνει τίποτα επειδη δεν καλείται η func στο παράδειγμα. κάνει 3 assignments, αν και παίζει να έχει κάνει λάθος και στα copy paste ... Επεξ/σία 3 Ιανουαρίου 2019 από pmav99
Kyrki Δημοσ. 4 Ιανουαρίου 2019 Μέλος Δημοσ. 4 Ιανουαρίου 2019 (επεξεργασμένο) 20 ώρες πριν, pmav99 είπε Tέλεια! Από τις απαντήσεις σου βέβαια είναι προφανές ότι δεν έχεις κάνει καν τον κόπο να γράψεις τις ερωτήσεις που σου έδωσαν στον interpreter. Οπότε ξεκίνα εγκαθιστώντας την Python και συνέχισε διαβάζοντας τις σημειώσεις σου. ΥΓ. Να υποθέσουμε και ότι μόνο τα κεφαλαία είναι δικά σου; --------------- κάνει 3 assignments, αν και παίζει να έχει κάνει λάθος και στα copy paste ... ΠΡΟΦΑΝΩΣ ΚΑΙ ΤΑ ΔΟΚΙΜΑΣΑ ΠΡΙΝ... ΚΑΙ ΟΧΙ ΔΕΝ ΕΧΩ ΚΑΝΕΙ ΛΑΘΟΣ ΚΑΙ ΣΤΑ COPY PASTE. 20 ώρες πριν, ajaxmonkey4hire είπε λειτουργικός. Δίνει 1,2,5 βάζει δηλαδή το 1 στο α, το 2 στο b και το default από την declaration για το c(=5) λειτουργικός. Δίνει 1,2,3 το 1 στο α 3 στο c και 2 στο b λειτουργικός. Δίνει 1,5,6,4 το * κάνει expand στο tuple (5, 6) οπότε έχεις a=1 b=5 c=6 και το default για το d=4 λειτουργικός. Δεν δίνει τίποτα επειδη δεν καλείται η func στο παράδειγμα. Αν έχεις υπολογιστή πάνε στο https://www.python.org/downloads/ εγκατέστησε το, άνοιξε την console, ξεκίνα την python και δοκίμασε τα. ΕΧΩ ΕΓΚΑΤΕΣΤΗΜΕΝΗ ΤΗ Ν PYTHON, ΑΛΛΑ ΠΡΑΓΜΑΤΙΚΑ ΤΑ ΠΕΡΑΣΑ ΕΤΡΕΞΑ ΤΟ ΠΡΟΓΡΑΜΜΑ ΚΑΙ ΜΟΥ ΕΒΓΑΛΕ ERROR! ΔΕΝ ΜΠΟΡΩ ΝΑ ΚΑΤΑΛΑΒΩ ΟΜΩΣ ΣΤΟ 2.1 ΑΠΟ ΤΗ ΣΤΙΓΜΗ ΠΟΥ H PRINT ΕΙΝΑΙ ΔΙΠΛΑ ΣΤΗΝ DEF ΔΕΝ ΕΙΝΑΙ ΛΑΘΟΣ? Επεξ/σία 4 Ιανουαρίου 2019 από Kyrki
ajaxmonkey4hire Δημοσ. 4 Ιανουαρίου 2019 Δημοσ. 4 Ιανουαρίου 2019 1 ώρα πριν, Kyrki είπε ΠΡΟΦΑΝΩΣ ΚΑΙ ΤΑ ΔΟΚΙΜΑΣΑ ΠΡΙΝ... ΚΑΙ ΟΧΙ ΔΕΝ ΕΧΩ ΚΑΝΕΙ ΛΑΘΟΣ ΚΑΙ ΣΤΑ COPY PASTE. ΕΧΩ ΕΓΚΑΤΕΣΤΗΜΕΝΗ ΤΗ Ν PYTHON, ΑΛΛΑ ΠΡΑΓΜΑΤΙΚΑ ΤΑ ΠΕΡΑΣΑ ΕΤΡΕΞΑ ΤΟ ΠΡΟΓΡΑΜΜΑ ΚΑΙ ΜΟΥ ΕΒΓΑΛΕ ERROR! ΔΕΝ ΜΠΟΡΩ ΝΑ ΚΑΤΑΛΑΒΩ ΟΜΩΣ ΣΤΟ 2.1 ΑΠΟ ΤΗ ΣΤΙΓΜΗ ΠΟΥ H PRINT ΕΙΝΑΙ ΔΙΠΛΑ ΣΤΗΝ DEF ΔΕΝ ΕΙΝΑΙ ΛΑΘΟΣ? Η ύστατη αυθεντία στο Python ανήκει στο Python Interpreter. Όταν τα έβαλες, τι σου ειπε το Interpreter; Χωρίς αυτήν την πληροφορία δεν μπορώ να σου πω σε ποιο σημείο έκανες το λάθος.
Kyrki Δημοσ. 4 Ιανουαρίου 2019 Μέλος Δημοσ. 4 Ιανουαρίου 2019 5 λεπτά πριν, ajaxmonkey4hire είπε Η ύστατη αυθεντία στο Python ανήκει στο Python Interpreter. Όταν τα έβαλες, τι σου ειπε το Interpreter; Χωρίς αυτήν την πληροφορία δεν μπορώ να σου πω σε ποιο σημείο έκανες το λάθος. unexpected indent... To δοκιμασα και στο IDLE και στο CMD.
jimmy213 Δημοσ. 4 Ιανουαρίου 2019 Δημοσ. 4 Ιανουαρίου 2019 Μήπως χρησιμοποιείς την 2.7; Αν ναι, τότε όντως η print πρέπει να πάει από κάτω και με σωστό indentation (αν θυμάμαι σωστά). Στην 3.6 θα έτρεχε κανονικά ο κώδικας.
ajaxmonkey4hire Δημοσ. 4 Ιανουαρίου 2019 Δημοσ. 4 Ιανουαρίου 2019 (επεξεργασμένο) 1 ώρα πριν, Kyrki είπε unexpected indent... To δοκιμασα και στο IDLE και στο CMD. θα κάνεις λοιπον το εξής: 1. γράφεις def func(a, b=4, c=5): 2. χτύπα enter 3. χτύπα tab 4. γράφεις print(a, b, c) 5. χτύπα enter να πας στην επόμενη γραμμή 6. χτύπα enter ξανά να κλείσεις την func 7. γράφεις func(1, 2) 8. χτύπα enter και σου δίνει: (1,2,5) Επεξ/σία 4 Ιανουαρίου 2019 από ajaxmonkey4hire
Kyrki Δημοσ. 5 Ιανουαρίου 2019 Μέλος Δημοσ. 5 Ιανουαρίου 2019 20 ώρες πριν, ajaxmonkey4hire είπε θα κάνεις λοιπον το εξής: 1. γράφεις def func(a, b=4, c=5): 2. χτύπα enter 3. χτύπα tab 4. γράφεις print(a, b, c) 5. χτύπα enter να πας στην επόμενη γραμμή 6. χτύπα enter ξανά να κλείσεις την func 7. γράφεις func(1, 2) 8. χτύπα enter και σου δίνει: (1,2,5) τωρα ναι! το double enter εκανε δουλιτσα. Τι ακριβως συμβαινει με αυτο? σου αποθηκευει και κλεινει τις συναρτησεις ή τις γραμμες που εχεις γραψει μεχρι να τις καλεσεις?
ajaxmonkey4hire Δημοσ. 5 Ιανουαρίου 2019 Δημοσ. 5 Ιανουαρίου 2019 η κενή γραμμή (το 2ο enter) δίνει στο interpreter να καταλάβει ότι τελείωσες με την function. 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα