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

Υπολογισμός δισεκτων ετών σε python


Επισκέπτης

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

Καλησπέρα, έχω ένα πρόβλημα στην python. Χρειαζεται να γραψω ενα πρόγραμμα το οποίο θα διαβάζει μια χρονολογία και θα εμφανίζει την τιμή 'True' αν το έτος είναι δίσεκτο ή την τιμή 'False' αν το έτος δεν είναι δίσεκτο.

Από τα χρόνια είναι δίσεκτα όσα διαιρούνται με το 4 ακριβώς ενώ από τους αιώνες, δίσεκτοι είναι όσοι διαιρούνται ακριβώς με το 400.

 Θα πρέπει να χρησιμοποιήσω το όνομα disekto στο οποίο να δωσω την τιμή True ή False ανάλογα με τα αποτελέσματα του αλγόριθμου και να εμφανίσω αυτή την τιμή στην οθόνη.  

Ευχαριστω

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

@sacafoutreΚοιτώντας λίγο τις λύσεις σου, βλέπω ένα προβληματάκι:

 

if divmod(xronos, 4)[1] == 0 or (divmod(xronos, 400)[1] == 0 and divmod(xronos, 100)[1] == 0):

Πότε είναι True αυτό; Όταν είτε ο xronos διαιρείται με το 4, είτε ταυτόχρονα με το 400 και με το 100. Τι γίνεται όταν xronos = 1800; Τότε η αριστερή πλευρά του or θα γίνει True, οπότε το 1800 θα χαρακτηριστεί ως δίσεκτο, ενώ δεν είναι.

@natitax Μπορείς να μας πεις ποιο ακριβώς σημείο σε προβληματίζει στην εκφώνηση;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

if (έτος δεν είναι διαιρετό με 4) then (είναι ένα συνηθισμένο έτος)
else if (έτος δεν είναι διαιρετό με 100) then (είναι ένα δίσεκτο έτος)
else if (έτος δεν είναι διαιρετό με 400) then (είναι ένα συνηθισμένο έτος)
else (είναι ένα δίσεκτο έτος)

Το Wikipedia έχει έτοιμο τον αλγόριθμο, μα τόση τεμπελιά πια; 

  • Like 3
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Να πω οτι κακώς βοηθάτε κάποιον που κατά 99% δεν έχει κάνει κάτι. Αν έχει κάνει ναι να τον βοηθήσουμε αλλά όχι να πάρει έτοιμη στο πιάτο μια άσκηση (γιατί περι αυτού πρόκειται)

  • Like 6
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Είναι η πρώτη φορά που ασχολούμαι με κάτι τέτοιο και χρειάστηκα βοηθεια σε κάτι ωστε να μπορέσω να καταλάβω ποια είναι η λογική της άσκησης και ποια βήματα πρέπει να ακολουθήσω. Δεν νομίζω πως ειναι κακό που κάποιος με βοήθησε σε κάτι το οποίο για την πλειοψηφία των σχετικών με το θέμα είναι σαν να λέμε 1+1=2. 

4 ώρες πριν, becoming_I είπε

Να πω οτι κακώς βοηθάτε κάποιον που κατά 99% δεν έχει κάνει κάτι. Αν έχει κάνει ναι να τον βοηθήσουμε αλλά όχι να πάρει έτοιμη στο πιάτο μια άσκηση (γιατί περι αυτού πρόκειται)

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

@natitax Κακό δεν είναι να ζητάς βοήθεια, και προσωπικά χαίρομαι πολύ να βοηθώ. Το θέμα είναι ότι όταν ζητάς βοήθεια, πρέπει να γράψεις σε τι ακριβώς δυσκολεύεσαι, τι προσπάθησες να κάνεις, πού κόλλησες κ.λπ. Το να περιγράφεις απλά το ζητούμενο, δεν δείχνει στον άλλον ότι ζητάς τη βοήθειά του, αλλά ότι του ζητάς να σου λύσει το πρόβλημα. Ήδη 2 άτομα ρωτήσαμε πού δυσκολεύεσαι.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Καλησπερα αυτο που ζητας υπαρχει στην function isleap του calendar, οποτε μπορεις να χρησιμοποιησεις

return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)

 

calendar.isleap(year)

To source του 

def isleap(year😞
  """Return True for leap years, False for non-leap years."""
  return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)
 

 

https://github.com/python/cpython/blob/3.9/Lib/calendar.py

 

  • Like 2
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

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

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

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

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

Σύνδεση

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

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