Python - Odcinek 6 - instrukcja warunkowa

preview_player
Показать описание
Wchodzimy w sterowanie przepływem programu - warunki proste i złożone
Рекомендации по теме
Комментарии
Автор

Zrobilem to w ten sposob, aby patrzylo mi tez czy dany rok jest przystępny. Nie jest to moze najkrotszy sposob, ALE działa xd

m = int(input("Podaj numer miesiąca od 1 do 12: "))
d = int(input("Podaj numer dnia od 1 do 31: "))
r = int(input("Podaj rok: "))
styczen = 31
marzec = 31
kwiecien = 30
maj = 31
czerwiec = 30
lipiec = 31
sierpien = 31
wrzesien = 30
pazdziernik = 31
listopad = 30
grudzien = 31

if r % 4 == 0:
luty = 29
rok = 366
else:
luty = 28
rok = 365
if d >= 1 and d <= 31 and m <= 12 and m >= 1:
if m == 12:
print("Dni do nowego roku:", rok-((d-grudzien)+grudzien+listopad+pazdziernik+wrzesien+sierpien+lipiec+czerwiec+maj+kwiecien+marzec+luty+styczen))
if m == 11:
print("Dni do nowego roku:", rok-((d-listopad)+listopad+pazdziernik+wrzesien+sierpien+lipiec+czerwiec+maj+kwiecien+marzec+luty+styczen))
if m == 10:
print("Dni do nowego roku:", rok-((d-pazdziernik)+pazdziernik+wrzesien+sierpien+lipiec+czerwiec+maj+kwiecien+marzec+luty+styczen))
if m == 9:
print("Dni do nowego roku:", rok-((d-wrzesien)+wrzesien+sierpien+lipiec+czerwiec+maj+kwiecien+marzec+luty+styczen))
if m == 8:
print("Dni do nowego roku:", rok-((d-sierpien)+sierpien+lipiec+czerwiec+maj+kwiecien+marzec+luty+styczen))
if m == 7:
print("Dni do nowego roku:", rok-((d-lipiec)+lipiec+czerwiec+maj+kwiecien+marzec+luty+styczen))
if m == 6:
print("Dni do nowego roku:", rok-((d-czerwiec)+czerwiec+maj+kwiecien+marzec+luty+styczen))
if m == 5:
print("Dni do nowego roku:", rok-((d-maj)+maj+kwiecien+marzec+luty+styczen))
if m == 4:
print("Dni do nowego roku:", rok-((d-kwiecien)+kwiecien+marzec+luty+styczen))
if m == 3:
print("Dni do nowego roku:", rok-((d-marzec)+marzec+luty+styczen))
if m == 2:
print("Dni do nowego roku:", rok-((d-luty)+luty+styczen))
if m == 1:
print("Dni do nowego roku:", rok-((d-styczen)+styczen))
else:
print("Podales zle jakąś datę")

mrnewit
Автор

zrobiłem te zadanie w taki sposób: (dla przkyładu tylko sierpień) i chciałbym wiedzieć czy o to chodziło

month = int(input("Enter the month in number from 1-12 "))
elif month == 8:
day = int(input("Enter the day in number from 1-31 "))
if day < 1 or day > 31:
print("Write a correct number!")
else:
print("Remain", 365 - 28 - 31*4 - 30*2 - day, "days to new year!")
else:
print("Write a correct number")

mariochive
Автор

miesiace = {
"styczen": 31,
"luty": 28,
"marzec": 31,
"kwiecien": 30,
"maj": 31,
"czerwiec": 30,
"lipiec": 31,
"sierpien": 31,
"wrzesien": 30,
"pazdziernik": 31,
"listopad": 30,
"grudzien": 31
}

rok = int(input("Wpisz rok: "))
miesiac = input("Wpisz miesiąc słownie, bez polskich znaków: ").lower()
if miesiac not in miesiace:
print("Niepoprawnie wprowadzono miesiąc. Uruchom program ponownie.")
exit()
dzien = int(input("Wpisz dzień miesiąca: "))
if dzien > 31:
print("Wprowadzono nieprawidłową liczbę dni (wieksza niż 31). Uruchom program ponownie.")
exit()

if rok % 4 == 0:
if rok % 100 == 0:
if rok % 400 == 0:
miesiace["luty"] += 1
else:
miesiace["luty"] += 1

wynik = 0
bZnalazloMiesiac = False
for i in miesiace:
if not bZnalazloMiesiac:
if i == miesiac:
bZnalazloMiesiac = True
wynik += miesiace[i] - dzien
else:
wynik += miesiace[i]

print(f"Do sylwestra zostało {wynik} dni.")

PROKat