georgie15 Δημοσ. 4 Ιουνίου 2023 Δημοσ. 4 Ιουνίου 2023 Καλησπέρα σε όλους, έχω μια εργασία προγραμματισμού με Python και έχω μπερδευτεί σε ένα σημείο. Συγκεκριμένα έχω δημιουργήσει ένα λεξικό από μια συνάρτηση για το πρώτο ερώτημα της άσκησης και θέλω με βάση αυτό να δημιουργήσω ένα καινούργιο λεξικό, πάλι με συνάρτηση, που θα χρησιμοποιεί ως παράμετρο το λεξικό του πρώτου ερωτήματος και θα εμφανίζει κάποια στοιχεία (π.χ νικητής τουρνουά και έτη που κέρδισε [τα έτη να είναι σε λίστα]). Παραθέτω τον κώδικα από το πρώτο ερώτημα που λειτουργεί κανονικά. Για διευκρινίσεις σχετικά με το θέμα να σταλθεί προσωπικό μήνυμα. Κάθε βοήθεια ευπρόσδεκτη 😁
archer100 Δημοσ. 4 Ιουνίου 2023 Δημοσ. 4 Ιουνίου 2023 Θα σου γραψω μονο τον ψευδοκωδικα για εναν απο τους πολλους τροπους με τους οποιους μπορει να λυθει η ασκηση σου: Ξεκινα με εναν αδειο καταλογο. Τρεξε εναν βροχο επανω στον πρωτο καταλογο Παρε τον νικητη Εαν ο νικητης ειναι υπαρχον κλειδι στον καινουργιο καταλογο, τοτε επεκτεινε τη λιστα με το ετος Εαν οχι, προσεθεσε τον στον νεο καταλογο και ως τιμη θα βαλεις [ετος] Καλη επιτυχια!
georgie15 Δημοσ. 5 Ιουνίου 2023 Μέλος Δημοσ. 5 Ιουνίου 2023 13 ώρες πριν, archer100 είπε Θα σου γραψω μονο τον ψευδοκωδικα για εναν απο τους πολλους τροπους με τους οποιους μπορει να λυθει η ασκηση σου: Ξεκινα με εναν αδειο καταλογο. Τρεξε εναν βροχο επανω στον πρωτο καταλογο Παρε τον νικητη Εαν ο νικητης ειναι υπαρχον κλειδι στον καινουργιο καταλογο, τοτε επεκτεινε τη λιστα με το ετος Εαν οχι, προσεθεσε τον στον νεο καταλογο και ως τιμη θα βαλεις [ετος] Καλη επιτυχια! Το προσπάθησα, δεν μπορώ να καταλήξω στο σωστό αποτέλεσμα.
archer100 Δημοσ. 5 Ιουνίου 2023 Δημοσ. 5 Ιουνίου 2023 (επεξεργασμένο) 13 λεπτά πριν, georgie15 είπε Το προσπάθησα, δεν μπορώ να καταλήξω στο σωστό αποτέλεσμα. Τι εχεις φτιαξει μεχρι τωρα; Ποσταρε το να το τσεκαρουμε (οχι ως σκρινσοτ, αλλα ως κωδικα η εστω κειμενο) Επεξ/σία 5 Ιουνίου 2023 από archer100
georgie15 Δημοσ. 5 Ιουνίου 2023 Μέλος Δημοσ. 5 Ιουνίου 2023 1 ώρα πριν, archer100 είπε Τι εχεις φτιαξει μεχρι τωρα; Ποσταρε το να το τσεκαρουμε (οχι ως σκρινσοτ, αλλα ως κωδικα η εστω κειμενο) import csv def tournament_data(tournament_name): filename = "tennis_men.csv" tour_dict = {} with open(filename, "r") as csvfile: reader = csv.reader(csvfile) for row in reader: if row[1] == tournament_name: year = row[0] winner = row[2] runner_up = row[3] tour_dict[year] = (winner, runner_up) return tour_dict def winners_tour(tour_dict): winners_dict = {} for winner, year in tour_dict.items(): for winner in year: winner = year[0] if winner in winners_dict: winners_dict[winner].append(year) else: winners_dict[winner] = [year] return winners_dict a = tournament_data("French Open") b = winners_tour(tournament_data("French Open")) print(b) αποτέλεσμα: {'Rafael Nadal': [('Rafael Nadal', 'Casper Rudd'), ('Rafael Nadal', 'Casper Rudd'), ('Rafael Nadal', 'Novak Djokovic') και ουτω καθεξής (απλα μου βγάζει τα ονόματα των νικητών για κάθε ζευγάρι)
archer100 Δημοσ. 6 Ιουνίου 2023 Δημοσ. 6 Ιουνίου 2023 for winner, year in tour_dict.items(): for winner in year: winner = year[0] Το παραπανω ειναι εντελως λαθος. Δινεις το ιδιο ονομα σε 2 iterators, ο ενας μεσα στον αλλον και επισης σε μια μεταβλητη παλια μεσα στο βροχο Δοκιμασε με διαφορετικα ονοματα για τα 3
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα