Συζήτηση
Γεια χαρά, Επισκέπτης
Όνομα χρήστη: Κωδικός: Να με θυμάσαι

ΘΕΜΑ: Απορία στο Recursion

Απορία στο Recursion 7 Χρόνια 9 Μήνες πριν #3739

  • vassilis
  • Το Άβαταρ του/της vassilis
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 11
Προσπαθώ να μάθω Python και έχω τύχει σε ένα παράδειγμα. Αλλά κολλάω σε ένα σημείο στην εκτέλεση του προγράμματος. Ο κώδικας είναι ο παρακάτω:
def recurMul(a, b):
    if b == 1:
        return a
    else:
        return a + recurMul(a, b-1)

Κατανοητό και απλό το πρόγραμμα απλά δεν καταλαβαίνω γιατί με το που φτάνει στο b == 1 αθροίζει όλα τα a και έχουμε τελικό αποτέλεσμα a = 6 Και b ==2. To a+ αναγκάζει να αθροίσει όλα τα a; ή κάτι άλλο;

ευχαριστώ
Τελευταία διόρθωση: 7 Χρόνια 9 Μήνες πριν από pmav99.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απορία στο Recursion 7 Χρόνια 9 Μήνες πριν #3740

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
To 6 που το βρήκες; Πολλαπλάσια του a επιστρέφει για οποιοδήποτε b > 0.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απορία στο Recursion 7 Χρόνια 9 Μήνες πριν #3741

  • vassilis
  • Το Άβαταρ του/της vassilis
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 11
Δεν ανέφερα στην περίπτωση που recurMul(2, 3) που το a = 2 επιστρέφει 6.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απορία στο Recursion 7 Χρόνια 9 Μήνες πριν #3742

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
Μια χαρά είναι η συνάρτηση.
2 * 3 = 6
άρα σωστά το υπολογίζει.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απορία στο Recursion 7 Χρόνια 9 Μήνες πριν #3743

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
Αν έχεις απορίες για το πως δουλεύει η αναδρομή, ξαναδιάβασε τις σημειώσεις σου ή κάνε μια αναζήτηση στο ίντερνετ. Αν θες ειδικά για τον κώδικά σου, γράψε τον εδώ και τρέξε ένα παράδειγμα πχ recurMul(3, 5)
Τελευταία διόρθωση: 7 Χρόνια 9 Μήνες πριν από pmav99.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απορία στο Recursion 7 Χρόνια 9 Μήνες πριν #3744

  • vassilis
  • Το Άβαταρ του/της vassilis
  • Αποσυνδεμένος
  • py____
  • Δημοσιεύσεις: 11
Ναι δεν διαφωνώ, το πρόγραμμα μια χαρά τρέχει. Απλά δεν καταλαβαίνω γιατί βγαίνει 2*3.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απορία στο Recursion 7 Χρόνια 9 Μήνες πριν #3745

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
Απλά δεν καταλαβαίνω γιατί βγαίνει 2*3.
Αντί για 2 * 3 τι περίμενες να βγάλει;

Νομίζω ότι πρέπει να ξαναδιαβάσεις το τι είναι η αναδρομή. Googl-άρε και θα βρεις άπειρες εξηγήσεις.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.450 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

Λίστα Ταχυδρομείου