ΑΣΚΗΣΕΙΣ ΜΕ ΛΙΣΤΕΣ

Ξεκίνησε από user_83, 03 Ιαν 2017, 02:42:20 ΜΜ

« προηγούμενο - επόμενο »

user_83

Και επειδή δεν μπορώ να βγάλω άκρη μια τέτοια άσκηση θα ειχει νόημα στις λίστες ...και πως γίνεται να εμφανίσω στοιχεια από παράλληλες λίστες ή να κρατησω θέση από μια λίστα και να πάω στην ίδια θέση σε μια παράλληλη λίστα. Η συνάρτηση index δεν υπάρχει στο βιβλιο μπορουν οι μαθητές να την χρησιμοποιούν;   

Να γραφεί πρόγραμμα που διαβάζει τα ονόματα των περιοχών και τις ετήσιες εισπράξεις 20 υποκαταστημάτων μιας αλυσίδας supermarket, εμφανίζει το πλήθος και τις περιοχές των καταστημάτων που έχουν εισπράξεις μικρότερες των 30000€ και εμφανίζει: την περιοχή του υποκαταστήματος με τις υψηλότερες εισπράξεις.


taxata

#16
@user_83
α) Νομίζω μια άσκηση όπως αυτή που αναφέρεις θα μπορούσε από άποψη δυσκολίας τουλάχιστον να είναι στο πλαίσιο της θεματολογίας
β) Δεν κατάλαβα αν το παραδειγμα που δίνεις σε προβληματίζει ως προς τη λύση του ή είναι το παράδειγμα άσκησης με παράλληλες λίστες και θέση που αναφέρεις μπορείς να γίνεις πιο σαφής ?... και ...
γ) Όποια μέθοδος ή συνάρτηση της Python δεν αναφέρεται στο βιβλίο της Β' ή της Γ' δεν μπορεί να χρησιμοποιηθεί στις εξετάσεις αλλά φαντάζομαι δεν θα προβληματισει γιατί τα θέματα προφανώς θα επιλύονται με την διδακτέα ύλη. Συνεπώς ούτε και η μέθοδος index και καλώς εάν το καλοσκεφτείς γιατί είναι μία x-tra μέθοδος πέρα από τις τυπικές (append, pop, insert) που στην ουσία υλοποιεί μία συνάρτηση σειριακής αναζήτησης η οποία όχι μόνο θα μπορούσε να γίνει και ως άσκηση στην τάξη αλλά και να επεκταθεί κιόλας ώστε να μην επιστρέφει μόνο την 1η θέση εμφάνισης ενός αντικειμένου σε μία λίστα αλλά μία λίστα με ολες τις θέσεις εμφάνισής του.

Κώδικας: python
# Επίλυση με χρήση λιστών μίας διάστασης, 
# θα μπορούσε να λυθεί και με λίστα δύο διαστάσεων πχ markets =[ ['Αθήνα', 50000], ['Πάτρα', 45000], ...]
# ή και καλύτερα να λυθεί χωρίς λίστες
# Εισαγωγή στοιχείων
markets = []
money = []
for i in range(20):
    markets.append(raw_input('Market='))
    money.append(input('Money='))

# Εισπράξεις> 30000
count = 0
for i in range(20):
    if money[i] > 30000:
        count += 1
        print markets[i], money[i]
print count

# Εύρεση καταστηματος μεγαλύτερων εισπράξεων
xmax = money[0]
imax = 0
for i in range(1,20):
    if money[i] > xmax:
        imax = i
        xmax = money[i]

print markets[imax], money[imax]

# Εάν έχουμε περισσότερα max από 1 κανουμε και σειριακή
Τάσος_Χατζηπαπαδόπουλος
Κύριε δεν έχω internet
http://users.sch.gr/chatzipap/

user_83

ok...ευχαριστώ για την απάντηση με βοήθησες πολύ. :)