Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα σε όλους, έχω μια εργασία προγραμματισμού με Python και έχω μπερδευτεί σε ένα σημείο. Συγκεκριμένα έχω δημιουργήσει ένα λεξικό από μια συνάρτηση για το πρώτο ερώτημα της άσκησης και θέλω με βάση αυτό να δημιουργήσω ένα καινούργιο λεξικό, πάλι με συνάρτηση, που θα χρησιμοποιεί ως παράμετρο το λεξικό του πρώτου ερωτήματος και θα εμφανίζει κάποια στοιχεία (π.χ νικητής τουρνουά και έτη που κέρδισε [τα έτη να είναι σε λίστα]).

Παραθέτω τον κώδικα από το πρώτο ερώτημα που λειτουργεί κανονικά. Για διευκρινίσεις σχετικά με το θέμα να σταλθεί προσωπικό μήνυμα.

Κάθε βοήθεια ευπρόσδεκτη 😁

Screenshot_2023-06-04-19-22-11-686.png

Δημοσ.

Θα σου γραψω μονο τον ψευδοκωδικα για εναν απο τους πολλους τροπους με τους οποιους μπορει να λυθει η ασκηση σου:

Ξεκινα με εναν αδειο καταλογο. 

Τρεξε εναν βροχο επανω στον πρωτο καταλογο

Παρε τον νικητη

Εαν ο νικητης ειναι υπαρχον κλειδι στον καινουργιο καταλογο, τοτε επεκτεινε τη λιστα με το ετος

Εαν οχι, προσεθεσε τον στον νεο καταλογο και ως τιμη θα βαλεις [ετος]

 

Καλη επιτυχια!

Δημοσ.
13 ώρες πριν, archer100 είπε

Θα σου γραψω μονο τον ψευδοκωδικα για εναν απο τους πολλους τροπους με τους οποιους μπορει να λυθει η ασκηση σου:

Ξεκινα με εναν αδειο καταλογο. 

Τρεξε εναν βροχο επανω στον πρωτο καταλογο

Παρε τον νικητη

Εαν ο νικητης ειναι υπαρχον κλειδι στον καινουργιο καταλογο, τοτε επεκτεινε τη λιστα με το ετος

Εαν οχι, προσεθεσε τον στον νεο καταλογο και ως τιμη θα βαλεις [ετος]

 

Καλη επιτυχια!

Το προσπάθησα, δεν μπορώ να καταλήξω στο σωστό αποτέλεσμα. 

Δημοσ. (επεξεργασμένο)
13 λεπτά πριν, georgie15 είπε

Το προσπάθησα, δεν μπορώ να καταλήξω στο σωστό αποτέλεσμα. 

Τι εχεις φτιαξει μεχρι τωρα; Ποσταρε το να το τσεκαρουμε (οχι ως σκρινσοτ, αλλα ως κωδικα η εστω κειμενο)

Επεξ/σία από archer100
Δημοσ.
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') και ουτω καθεξής (απλα μου βγάζει τα ονόματα των νικητών για κάθε ζευγάρι)

Δημοσ.

for winner, year in tour_dict.items():
for winner in year:
winner = year[0]

Το παραπανω ειναι εντελως λαθος. Δινεις το ιδιο ονομα σε 2 iterators, ο ενας μεσα στον αλλον και επισης σε μια μεταβλητη παλια μεσα στο βροχο

Δοκιμασε με διαφορετικα ονοματα για τα 3

 

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...