12 Ιουνίου 2019
17 Μαρτίου 2019
Αναδρομικές συναρτήσεις
Αναδρομική λέγεται μια συνάρτηση που για να επιστρέψει το αποτέλεσμα που επιθυμούμε καλεί τον εαυτό της. Για παράδειγμα το παραγοντικό ενός ακέραιου θετικού αριθμού είναι ν!=1*2*.....*(ν-1)*ν
π.χ. 5!=1*2*3*4*5 και μπορεί να γραφτεί ν!=ν*(ν-1)! , 5!=4!*5
Παραδείγματα αναδρομικών συναρτήσεων στην Python
#Αναδρομικές συναρτήσεις
def factorial(n):
p=1
if n>=2:
p=n*factorial(n-1)
return p
def power(x,y):
p=1
if y>=1:
p=x*power(x,y-1)
return p
Παραδείγματα σε αρχείο python
π.χ. 5!=1*2*3*4*5 και μπορεί να γραφτεί ν!=ν*(ν-1)! , 5!=4!*5
Παραδείγματα αναδρομικών συναρτήσεων στην Python
#Αναδρομικές συναρτήσεις
def factorial(n):
p=1
if n>=2:
p=n*factorial(n-1)
return p
def power(x,y):
p=1
if y>=1:
p=x*power(x,y-1)
return p
Παραδείγματα σε αρχείο python
9 Φεβρουαρίου 2019
Συνδυαστική άσκηση επιλογής, συνάρτησης, συμβολοσειρών, λιστών και αλγορίθμων
Ένα
υποκατάστημα σούπερ μάρκετ έχει δημιουργήσει δύο λίστες για τα προϊόντα που
πουλάει. Στη πρώτη λίστα, με όνομα bcodes, είναι
οι γραμμωτοί κωδικοί των προϊόντων (bar codes) σε μορφή συμβολοσειράς και στη
δεύτερη, με όνομα sales, είναι οι αντίστοιχες συνολικές
πωλήσεις των προϊόντων σε ευρώ (€) για το έτος 2018.
Π.χ.
bcodes [‘5201171000126’,’6901100341234’,…….,’8300112291033’],
sales [1253,3872,…………..,7812]
Οι δύο λίστες έχουν ακριβώς τις ίδιες
θέσεις.
Οι αντίστοιχες θέσεις της κάθε λίστας
αναφέρονται στο ίδιο προϊόν.
Ο διευθυντής του
υποκαταστήματος ζήτησε από τον προγραμματιστή να δημιουργήσει μια συνάρτηση σε python, με παραμέτρους τις δύο λίστες (bcodes,sales), που να αναζητά στην πρώτη λίστα τα
ελληνικά προϊόντα, γνωρίζοντας ότι οι ελληνικοί γραμμωτοί κωδικοί ξεκινούν από
‘520’, και να βάζει τους ελληνικούς
κωδικούς σε μια λίστα grcodes
και τις αντίστοιχες
πωλήσεις σε μια λίστα grsales.
Στη συνέχεια θα
ταξινομεί τις δύο λίστες grcodes
και grsales σε φθίνουσα σειρά (από τις μεγαλύτερες
προς τις μικρότερες) σύμφωνα με τις πωλήσεις και θα τις επιστρέφει (return) σε μορφή λίστας με δύο υπολίστες [grcodes,grsales].
Εγγραφή σε:
Αναρτήσεις
(
Atom
)