Terve, osaisiko joku tehdä pythonilla ohjelman, joka tulostaa näytölle kaikki karkausvuodet vuosien 1901-2000 välillä? Kiitos suuresti jo näin etukäteen!
Pythonilla karkausvuosien laskenta ohjelma
37
10141
Vastaukset
- 37
Joo..
import calendar
print(", ".join([str(year) for year in range(1901, 2001) if calendar.isleap(year)]))
Oliko kotitehtävä? :D- Anonyymi
W10 on kaamee ohjelmisissa perkele.!
- Anonyymi
Vähän koodasian:
/*Windows on paska!!
TOP SECRET Microsoft(c) Code
Project:
Chicago(tm)
Projected release-date:
Sometime
*/
#include
#include "bsod.h"
#include "minwin.h"
#include "tilt.tv.h"
#include "evenmore.h"
#include "oldstuff.h"
#include "billrulz.h"
#include "directx_ultimate.h"
#include "windows_uninstaller.h"
char make_prog_look_big[77777777777];
Load Time: 1.0581 | Memory Load: 0.5 MB | Queries: 0
/*
Reference:
Internal memo #99281-2008
from: William H. Gates III
to: Executive managers Chicago(tm)-project
William H. Gates III wrote:
"I have serious doubts about the 'EASY' installation-definition.
It might prevent customers to think that they actually bought
something _good_. Therefore I want the installation-definition
to be 'MI' (Mission Impossible).
Carry on,
God^H^H^HBill
"
*/ pokemon windows soung
#define INSTALL = MI
void main()vtu
{
while(!CRASHED)
{
display_copyright_message();
display_bill_rules_message();
do_nothing_loop();
if(first_time_installation)
{
make_777_gigabyte_swapfile();
do_nothing_loop();
totally_screw_up_HPFS_file_system();
search_and_destroy_the_rest_of_OS/2();
hang_system();
}
write_something(anything);
display_copyright_message();
do_nothing_loop();
do_some_stuff();
show_bsod();
if(still_not_crashed)
{ - Anonyymi
Anonyymi kirjoitti:
Vähän koodasian:
/*Windows on paska!!
TOP SECRET Microsoft(c) Code
Project:
Chicago(tm)
Projected release-date:
Sometime
*/
#include
#include "bsod.h"
#include "minwin.h"
#include "tilt.tv.h"
#include "evenmore.h"
#include "oldstuff.h"
#include "billrulz.h"
#include "directx_ultimate.h"
#include "windows_uninstaller.h"
char make_prog_look_big[77777777777];
Load Time: 1.0581 | Memory Load: 0.5 MB | Queries: 0
/*
Reference:
Internal memo #99281-2008
from: William H. Gates III
to: Executive managers Chicago(tm)-project
William H. Gates III wrote:
"I have serious doubts about the 'EASY' installation-definition.
It might prevent customers to think that they actually bought
something _good_. Therefore I want the installation-definition
to be 'MI' (Mission Impossible).
Carry on,
God^H^H^HBill
"
*/ pokemon windows soung
#define INSTALL = MI
void main()vtu
{
while(!CRASHED)
{
display_copyright_message();
display_bill_rules_message();
do_nothing_loop();
if(first_time_installation)
{
make_777_gigabyte_swapfile();
do_nothing_loop();
totally_screw_up_HPFS_file_system();
search_and_destroy_the_rest_of_OS/2();
hang_system();
}
write_something(anything);
display_copyright_message();
do_nothing_loop();
do_some_stuff();
show_bsod();
if(still_not_crashed)
{Niin tuo oli se "Erittäin salainen Microsoft-koodi"
- Anonyymi
Anonyymi kirjoitti:
Vähän koodasian:
/*Windows on paska!!
TOP SECRET Microsoft(c) Code
Project:
Chicago(tm)
Projected release-date:
Sometime
*/
#include
#include "bsod.h"
#include "minwin.h"
#include "tilt.tv.h"
#include "evenmore.h"
#include "oldstuff.h"
#include "billrulz.h"
#include "directx_ultimate.h"
#include "windows_uninstaller.h"
char make_prog_look_big[77777777777];
Load Time: 1.0581 | Memory Load: 0.5 MB | Queries: 0
/*
Reference:
Internal memo #99281-2008
from: William H. Gates III
to: Executive managers Chicago(tm)-project
William H. Gates III wrote:
"I have serious doubts about the 'EASY' installation-definition.
It might prevent customers to think that they actually bought
something _good_. Therefore I want the installation-definition
to be 'MI' (Mission Impossible).
Carry on,
God^H^H^HBill
"
*/ pokemon windows soung
#define INSTALL = MI
void main()vtu
{
while(!CRASHED)
{
display_copyright_message();
display_bill_rules_message();
do_nothing_loop();
if(first_time_installation)
{
make_777_gigabyte_swapfile();
do_nothing_loop();
totally_screw_up_HPFS_file_system();
search_and_destroy_the_rest_of_OS/2();
hang_system();
}
write_something(anything);
display_copyright_message();
do_nothing_loop();
do_some_stuff();
show_bsod();
if(still_not_crashed)
{autismi
- jauzaa
sanotaan näin et voin mennä huomenna kouluun ja näyttää muulle luokalle miten oon hommat tehny ;) kiitti paljon!!!! :)
- kkgnbvhnknbv
Toivottavasti opettajasi ei osannut käyttää googlea:)
Tuo hakutulos kun tulee ensimmäisenä kun etsii pythonia ja karkauspäiviä.
Mutta kiitos täältäkin tuolle koodin kirjoittajalle!
- 1122334455
Niin vuosi 2000 ei muistaakseni ollut karkausvuosi.
- 20+19
Muistaaksesi?
Karkausvuosi määräytyy hyvin yksinkertaisten sääntöjen perusteella:
vuosi on karkausvuosi jos se on tasan jaollinen 4:llä ja se ei ole tasan jaollinen luvulla 100 - paitsi jos se on tasan jaollinen myös 400:lla.
Otetaan pari esimerkkiä:
1900 on tasan jaollinen 4:llä eli ensimmäinen ehto täytyty
1900 on tasan jaollinen 100:lla eli toinen ehto sanoo poks
1900 ei ole tasan jaollinen 400:lla eli toisen ehdon erikoissääntö ei täyty
kyseessä ei ole karkausvuosi
1904 on tasan jaollinen 4:llä
1904 ei ole tasan jaollinen 100:lla
kyseessä on karkausvuosi
2000 on tasan jaollinen 4:llä
2000 on tasan jaollinen 100:lla (nyt näyttää pahalta!)
2000 on tasan jaollinen myös 400:lla joten se on karkausvuosi!!1
kyseessä on karkausvuosi
pythonilla tuon ehdon saa toteutettua helpoiten näin (samaa on käytetty kalenterimoduulissa)
>>> def is_leap(year):
... return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)
>>> is_leap(1900)
False
>>> is_leap(1904)
True
>>> is_leap(1903)
>>> is_leap(1900)
False
>>> is_leap(1903)
False
>>> is_leap(1904)
True
>>> is_leap(2000)
True
>>> is_leap(2001)
False - kaukokale
20+19 kirjoitti:
Muistaaksesi?
Karkausvuosi määräytyy hyvin yksinkertaisten sääntöjen perusteella:
vuosi on karkausvuosi jos se on tasan jaollinen 4:llä ja se ei ole tasan jaollinen luvulla 100 - paitsi jos se on tasan jaollinen myös 400:lla.
Otetaan pari esimerkkiä:
1900 on tasan jaollinen 4:llä eli ensimmäinen ehto täytyty
1900 on tasan jaollinen 100:lla eli toinen ehto sanoo poks
1900 ei ole tasan jaollinen 400:lla eli toisen ehdon erikoissääntö ei täyty
kyseessä ei ole karkausvuosi
1904 on tasan jaollinen 4:llä
1904 ei ole tasan jaollinen 100:lla
kyseessä on karkausvuosi
2000 on tasan jaollinen 4:llä
2000 on tasan jaollinen 100:lla (nyt näyttää pahalta!)
2000 on tasan jaollinen myös 400:lla joten se on karkausvuosi!!1
kyseessä on karkausvuosi
pythonilla tuon ehdon saa toteutettua helpoiten näin (samaa on käytetty kalenterimoduulissa)
>>> def is_leap(year):
... return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)
>>> is_leap(1900)
False
>>> is_leap(1904)
True
>>> is_leap(1903)
>>> is_leap(1900)
False
>>> is_leap(1903)
False
>>> is_leap(1904)
True
>>> is_leap(2000)
True
>>> is_leap(2001)
FalseSe on todella gregoriaanisen kalenterin karkausvuosisääntö. Täydet sataluvut eivät gregoriaanisessa kalenterissa yleensä ole karkausvuosia, mutta esim. vuosi 2000 oli.
Juliaanisessa kalenterissa 400 vuoden aikana on 100 karkausvuotta koska joka neljäs vuosi on karkausvuosi.
Gregoriaanisessa kalenterissa 400 vuoden aikana on 97 karkausvuotta eli 3 karkausvuotta vähemmän koska täysistä sataluvuista vain ne ovat karkausvuosia jotka ovat 400:lla jaollisia.
Niinpä 400 gregoriaanisen kalenterin vuotta on 3 karkauspäivää lyhyempi aika kuin 400 juliaanisen kalenterin vuotta. Gregoriaaninen kalenteri seuraa tämän johdosta paremmin trooppisen vuoden pituutta ja vuodenajan pysyvät paremmin kalenterissa vakiopaikoilla. - Anonyymi
kaukokale kirjoitti:
Se on todella gregoriaanisen kalenterin karkausvuosisääntö. Täydet sataluvut eivät gregoriaanisessa kalenterissa yleensä ole karkausvuosia, mutta esim. vuosi 2000 oli.
Juliaanisessa kalenterissa 400 vuoden aikana on 100 karkausvuotta koska joka neljäs vuosi on karkausvuosi.
Gregoriaanisessa kalenterissa 400 vuoden aikana on 97 karkausvuotta eli 3 karkausvuotta vähemmän koska täysistä sataluvuista vain ne ovat karkausvuosia jotka ovat 400:lla jaollisia.
Niinpä 400 gregoriaanisen kalenterin vuotta on 3 karkauspäivää lyhyempi aika kuin 400 juliaanisen kalenterin vuotta. Gregoriaaninen kalenteri seuraa tämän johdosta paremmin trooppisen vuoden pituutta ja vuodenajan pysyvät paremmin kalenterissa vakiopaikoilla.Juliaanisessa kalenterissa karkausvuosi on poikkeuksetta joka neljäs vuosi, vuosiluvun ollessa jaollinen neljällä. Gregoriaanisessa kalenterissa tästä on se poikkeus, että täydet vuosisadat (eli sadalla jaolliset vuodet) eivät ole karkausvuosia muulloin kuin joka 400. vuosi (eli vuodet, jotkva ovat jaollisia 400:lla). Esimerkiksi vuodet 1700, 1800 ja 1900 eivät olleet karkausvuosia, mutta 1600 ja 2000 olivat.
- Anonyymi
"Niin vuosi 2000 ei muistaakseni ollut karkausvuosi."
Lopeta jo se urpoilu!
Vuosi 2000 = karkausvuosi.
Sensijaan 1700, 1800, 1900, 2100, 2200, 2300 eivät ole karkausvuosia.
1600, 2000, 2400, 2800, 3200, 3600 ja 4000 ovat karkausvuosia.
- Anonyymi
Verestelin hieman pyyttöniskriptien tekoa tällä. Logiikkana käytin, että oletuksena vuosi ei ole karkausvuosi. Mutta jos on 4:llä jaollinen niin on. Paitsi jos on 100:lla jaollinen niin ei ole. Paitsi jos on 400:lla jaollinen niin on.
https://pastebin.com/d8b00H3V
$ ./karkausvuosi.py 1900
Vuosi 1900 ei ole karkausvuosi
$ ./karkausvuosi.py 2000
Vuosi 2000 on karkausvuosi
$ ./karkausvuosi.py 2020
Vuosi 2020 on karkausvuosi
$ ./karkausvuosi.py 2021
Vuosi 2021 ei ole karkausvuosi- Anonyymi
Funktioista ei pitäisi koskaan tekemällä tehdä sen monimutkaisempia, kuin mitä niistä välttämättä tulee.
Koska karkausvuoden olemassaolonhan pystyy palauttamaan suoraan returnissa:
https://pastebin.com/RJZvqBzv - Anonyymi
Anonyymi kirjoitti:
Funktioista ei pitäisi koskaan tekemällä tehdä sen monimutkaisempia, kuin mitä niistä välttämättä tulee.
Koska karkausvuoden olemassaolonhan pystyy palauttamaan suoraan returnissa:
https://pastebin.com/RJZvqBzvKannattaa muistaa; vaatimattomuus kaunistaa.
Mutta siitä huolimatta, hyvä skripti. - Anonyymi
Anonyymi kirjoitti:
Funktioista ei pitäisi koskaan tekemällä tehdä sen monimutkaisempia, kuin mitä niistä välttämättä tulee.
Koska karkausvuoden olemassaolonhan pystyy palauttamaan suoraan returnissa:
https://pastebin.com/RJZvqBzvKuka työelämän "tiimeissä" harrastaa ohjelmointia ymmärtää kyllä mahdollisimman luettavan koodin merkityksen. Esimerkiksi meillä on scrummin sprintit parin viikon pituisia, ja käydään katselmuksessa sitten porukalla jokaisen räpellykset läpi, jonka jälkeen mahdollisesti yhdistellään kehityshaaroja jne. Mutta periaate on, että kaikki vähän kattelee toistensa tekemisiä ja kommentoi niitä.
Yksinään koodaillessa saa toki keskittyä mihin haluaa. - Anonyymi
Anonyymi kirjoitti:
Funktioista ei pitäisi koskaan tekemällä tehdä sen monimutkaisempia, kuin mitä niistä välttämättä tulee.
Koska karkausvuoden olemassaolonhan pystyy palauttamaan suoraan returnissa:
https://pastebin.com/RJZvqBzvTein oman version, jossa käyttäjää helpotetaan sen verran ettei tarvitse välttämättä antaa vuosilukua mukna, jos kuluvavuosi on kyseessä. En kuitenkaan julkaise samankaltaisuuden vuoksi.
- Anonyymi
Anonyymi kirjoitti:
Kuka työelämän "tiimeissä" harrastaa ohjelmointia ymmärtää kyllä mahdollisimman luettavan koodin merkityksen. Esimerkiksi meillä on scrummin sprintit parin viikon pituisia, ja käydään katselmuksessa sitten porukalla jokaisen räpellykset läpi, jonka jälkeen mahdollisesti yhdistellään kehityshaaroja jne. Mutta periaate on, että kaikki vähän kattelee toistensa tekemisiä ja kommentoi niitä.
Yksinään koodaillessa saa toki keskittyä mihin haluaa.juuri noin. kaikki turhat if-lauseet aina vähentää sitä luettavuutta hemmetisti kun sen joutuu aina loppuun asti seuraamaan mitä sen tekee.
ja ne junnujen if true; return true -hässäkät on aivan järkyttävää luettavaa ja ihmittelen monta kertaa miten sitä on edes säästynyt köydeltä :D
eli pitää asian niin simppelinä kuin mitä sen voi pitää, niin koodista saa vielä joku mukin selvää. niin ja itsekin jos siihen pitää myöhemmin palata!
- Anonyymi
Tähän ei kai oikeaa vastausta ole vielä saatu.
- Anonyymi
Jo siihen nyt on saatu skripti joka toimii.
- Anonyymi
Anonyymi kirjoitti:
Jo siihen nyt on saatu skripti joka toimii.
Niin on, mutta kun avaus käsitti: "joka tulostaa näytölle kaikki karkausvuodet vuosien 1901-2000 välillä?", niin vielä siinä on sitä hiomista.
- Anonyymi
Katselin omia muistiinpanojani 3 vuoden takaa, suurin osa nosti tunteen ensinäkemisestä, ja älykkäistä ratkaisuista. Asiat unohtuu turhan nopeasti.
- Anonyymi
Mitenkähän se niillä onnettomilla, jotka on toisten tekemien painnikkeiden varassa, tuntuu varmaan tyhmältä.
- Anonyymi
Osaisiko joku tehdä tälle käyttöliittymän esim. Tkinterillä?
- Anonyymi
Helpompi tehdä ja myös siistimpi tulee Lazaruksella. Tässähän ei kukaan ole vielä tehnyt sitä mitä avauksessa pyydettiin, on vain sovelluksia jotka osaavat tarkistaa annetun ajankohdan karkausvuodeksi.
- Anonyymi
Ainakin minä osaan tehdä.
- Anonyymi
Anonyymi kirjoitti:
Ainakin minä osaan tehdä.
Näytä että osaat, minä voin sitten vuorovaikutteiset kohdat muuttaa YAD-dialogia käyttäväksi, saadaan ohjelmasta ammattimaisen näköinen ja käyttäjä ystävällinen.
- Anonyymi
Anonyymi kirjoitti:
Näytä että osaat, minä voin sitten vuorovaikutteiset kohdat muuttaa YAD-dialogia käyttäväksi, saadaan ohjelmasta ammattimaisen näköinen ja käyttäjä ystävällinen.
Minkälaisen teen? Teenkö sellaisen, johon syötetään alku- ja loppuvuosi, jonka jälkeen nappia painamalla tulostetaan karkausvuodet?
- Anonyymi
Anonyymi kirjoitti:
Minkälaisen teen? Teenkö sellaisen, johon syötetään alku- ja loppuvuosi, jonka jälkeen nappia painamalla tulostetaan karkausvuodet?
Sellaisen jossa käynnistys painike tekee sen mitä avauksessa pyydettiin, eli "Terve, osaisiko joku tehdä pythonilla ohjelman, joka tulostaa näytölle kaikki karkausvuodet vuosien 1901-2000 välillä?"
Ja sitten kentät joihin sijottamalla vuosiluvut luetellaan karkausvuodet siltä väliltä. - Anonyymi
Tkinter-versio on nyt nähtävillä. Laitoin rajoituksen, joka mahdollistaa vain nollan ja 9999:n välisten lukujen syöttämisen kenttiin. Käynnistysvaiheessa hakee alkuperäisen kysyjän tilaamat karkausvuodet vuosien 1901 ja 2000 väliltä.
Koodi: https://pastebin.com/KvHiRhSf
Kuvakaappaus ikkunasta: https://ibb.co/dgM47bj - Anonyymi
Anonyymi kirjoitti:
Tkinter-versio on nyt nähtävillä. Laitoin rajoituksen, joka mahdollistaa vain nollan ja 9999:n välisten lukujen syöttämisen kenttiin. Käynnistysvaiheessa hakee alkuperäisen kysyjän tilaamat karkausvuodet vuosien 1901 ja 2000 väliltä.
Koodi: https://pastebin.com/KvHiRhSf
Kuvakaappaus ikkunasta: https://ibb.co/dgM47bjKehitelläämpä tästä nykyaikaisempi versio, jossa karkausvuodet kysytään backendiltä. Esim näin:
[palvelin]/karkausvuodet/1901/2000
GET-pyyntö palauttaisi backendistä listan karkausvuosista väliltä 1901-2000 JSON-muodossa.
Minä voin toteuttaa JavaScriptillä NodeJS/Express -yhdiselmällä. Kuka Pythonia osaa voisi tehdä sillä, ja muillakin kielillä tehtyjä ratkaisuja saa toki esittää. - Anonyymi
Anonyymi kirjoitti:
Tkinter-versio on nyt nähtävillä. Laitoin rajoituksen, joka mahdollistaa vain nollan ja 9999:n välisten lukujen syöttämisen kenttiin. Käynnistysvaiheessa hakee alkuperäisen kysyjän tilaamat karkausvuodet vuosien 1901 ja 2000 väliltä.
Koodi: https://pastebin.com/KvHiRhSf
Kuvakaappaus ikkunasta: https://ibb.co/dgM47bjTässä on todellista osaamista!
- Anonyymi
Nyt taitaa olla se "hullu-sämppäri" taas terrorisoimassa palstaa.
- Anonyymi
Myös YAD -dialogit antavat vaikutelman graaffisesta ohjelmasta kun vuorovaikutus tapahtuu dialogien välityksellä.
- Anonyymi
Eikös Elisa ja muut palvelun tarjoajat pysty sulkemaan liittymän jos sitä käytetään tahallisen haitantekoon.
- Anonyymi
Hah Hauskaa!!!
Kas kun:
Välillä 1. maaliskuuta 1900 ja 28. helmikuuta 2100 pätee yksinkertaistettu sääntö:
4:llä jaolliset vuodet ovat karkausvuosia, muut vuodet eivät ole.
Eli ei tarvitse edes selvittää vuosiluvun jaollisuutta 400:lla.
Jos pitää toimia tuon 1901-2099 alueen ulkopuolella, silloin sääntö on:
1) Jos vuosiluku ei ole jaollinen 4:llä -> normaalivuosi.
2) Jos vuosiluku ON jaollinen 4:llä, laske K = vuosiluku MOD 400.
Jos K kuuluu joukkoon [100, 200, 300] -> ei ole karkausvuosi, muussa tapauksessa ON karkausvuosi.
ns. viralliseen sääntöön verrattuna säästettiin siis 100:lla jakaminen, ja antaa silti aivan saman lopputuloksen.
Pythonin syntaksin saat selvittää ihan itse, Delphillä olen tuonkin koodannut. - Anonyymi
vuosi = int(input("Anna vuosi: "))
if vuosi % 4 == 0 and (vuosi % 100 != 0 or vuosi % 400 == 0):
print("Vuosi on karkausvuosi.")
else:
print("Vuosi ei ole karkausvuosi.")
T:Koodari
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Metsäkoneen kuljettaja huuteli tutkijalle
"voisit kyllä ottaa rintaliivit pois ennen kuin tulet minulle juttelemaan, hän sanoo." https://yle.fi/a/74-20106446 On7049970Suomi on täysin sekaisin
Jo ties monettako päivää hirveä itku ja poru jostain helvetin nilviäisistä. https://www.is.fi/taloussanomat/art-20000104094353Kaikki ei vieläkään usko luontokatoon.
Suomussalmen Hukkajoella foliohattu metsäkoneen kuljettaja tuhosi tuhansia harvinaisia jokihelmisimpukoita eli raakkuja902996Sano vain suoraan, että nyt riittää
ettei kiinnosta. Sano, että lopeta! En ihmettelisi, jos olet saanut tarpeeksesi ja toivot minun ymmärtävän lopettaa. Eh432855Mari Rantanen asettaa sairaan lapsen edun oman uransa edelle - (tekikö Marin samaa)
Noin toimii kunnon vastuuntuntoinen äiti, mutta siitäkin nämä mt-ongelmaiset vasemmistolaiset häntä täällä haukkuvat. "2302658Ohhoh! Ex-pääministeri Sanna Marinin Joni-rakas paljasti ilouutisen: "Tässä kuussa..."
Sanna Marin on ollut naimisissa Markus Räikkösen kanssa. Nyt hänen seurassaan on usein julkkishiusmuotoilija Joni Willb552654- 1531845
Luokatonta toimintaa
Tyrmistyttävää toimintaa Stora Enson korjuu yrittäjältä Hukkajoella. Täyttä piittaamattomuutta laeista ja luontoarvoista711700Ensimmäisestä kohtaamisesta saakka
minulla on ollut hämmentynyt olo. Miten voit tuntua siltä, että olisin tuntenut sinut aina? Sinun kanssasi on yhtä aikaa141620Maailmankuulu homopingviini on kuollut
Minä niin toivoin että pariskunta olisi saatu kunniavieraiksi ensi kesän Prideen. 💔 "Maailmankuulu homopingviini on k61423