AlienTechGR Δημοσ. 31 Δεκεμβρίου 2023 Δημοσ. 31 Δεκεμβρίου 2023 Καλησπέρα παιδιά και χρόνια πολλά. Πρόσφατα έφτιαξα ένα μικρό πρόγραμμα σε Python (TKinter) για υπολογισμό τελών κυκλοφορίας βάση κυβικών ή ρύπων. Φυσικά όντας αρχάριος, ο κώδικας μόνο καλογραμμένος δε μπορεί να θεωρηθεί, για αυτό τον επισυνάπτω αν έχει όρεξη κανένας, να μου πει πως θα μπορούσα να κάνω την ίδια δουλειά με λιγότερες γραμμές κώδικα. Ευχαριστώ εκ των προτέρων. TeliKykloforias.py 5
parsifal Δημοσ. 31 Δεκεμβρίου 2023 Δημοσ. 31 Δεκεμβρίου 2023 (επεξεργασμένο) Καλησπέρα! Οι συναρτήσεις Until20XY θα μπορούσαν να συντομευθούν λίγο με χρήση dictionary, π.χ. def Until2000(cc): dict = { 4001: 1230, 3001: 1025, 2358: 820, 1929: 615, 1739: 280, 1549: 260, 1358: 225, 1072: 135, 786: 120, 301: 55, 0: 22 } for key in dict: if cc >= key: return dict[key] Για να δουλέψει το παραπάνω, θα πρέπει να χρησιμοποιείς Python >= 3.6 (παρέχει εγγύηση ότι τα key/value pairs θα κρατήσουν τη σειρά που τους έδωσες κατά την αρχικοποίηση του dictionary), να αρχικοποιείς την cc πριν να κληθεί η συνάρτηση (αφού πρέπει να περάσεις την cc ως όρισμα στη συνάρτηση) και ταυτόχρονα να κάνεις sanitise την τιμή της για αρνητικούς αριθμούς, δηλαδή κάπως έτσι: def Calculate(): try: year = int(TextBox2.get()) # cc = int(TextBox1.get()) cc = max(0, int(TextBox1.get())) Επεξ/σία 31 Δεκεμβρίου 2023 από parsifal 2
masteripper Δημοσ. 2 Ιανουαρίου 2024 Δημοσ. 2 Ιανουαρίου 2024 Κανονικα τιμές δεν αποθηκευονται στον κωδικα,τις βάζεις σε 1 εξωτερικό αρχείο και τις ανανεώνεις αυτόματα 2
tsofras Δημοσ. 2 Ιανουαρίου 2024 Δημοσ. 2 Ιανουαρίου 2024 Καλημέρα Αν και δεν έχω γράψει python ποτέ είπα να κάνω μία απόπειρα με τον πρωινό καφέ Με χρήση dictionary και ranges γίνεται πιο απλός ο κώδικας , δεν ξέρω αν έχει ξεφύγει κάποιος έλεγχος για να πέσει ακριβώς μέσα στη χρονιά , αλλά μπορείς να δεις την λογική Με το παραπάνω τρόπο γλυτώνεις τον μισό επαναλαμβανόμενο κώδικα Επίσης είναι καλύτερη πρακτική να έχεις μία μέθοδο που θα υπολογίζει μία τιμή και να την καλείς για να την εμφανίσεις στο textbox , παρά να γράφεις κατευθείαν τις τιμές μέσα απο την μέθοδο . Έτσι αν θέλεις να χρησιμοποιήσεις αυτή την μέθοδο και σε κάποιο άλλο κομμάτι (π.χ. να το έβγαζες και ως web service) δεν θα είναι δεμένη με το UI σου Επαναλαμβάνω δεν έχω ξαναγράψει python αλλά έχω εμπειρία σε προγραμματισμό και περισσότερο ήθελα να σου δείξω την κατεύθυνση , μπράβο για την προσπάθεια και καλή χρονιά main.py 1
stefanos90_K Δημοσ. 21 Ιανουαρίου 2024 Δημοσ. 21 Ιανουαρίου 2024 TIP: Κάνε ένα github και βάλε τον κώδικα εκεί
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα