Strona główna Polish Python Coders Group
   Strona główna   Pomoc Zaloguj się Rejestracja  
Witamy, Gość. Zaloguj się lub zarejestruj.
Czy dotarł do Ciebie email aktywacyjny?

Zaloguj się podając nazwę użytkownika, hasło i długość sesji

Aktualności:
Szukaj Szukaj
Strony: [1]   Do dołu
Drukuj
Wątek: Problem z kodem  (Przeczytany 63 razy)
« : 10:27 07/12/18 »
Horvas Offline
Hello World!

Zobacz profil
*

Reputacja: 0
Wiadomości: 2


Witam mam jakiś problem z kodem. Kiedy go odpalam jest wszystko ok ale kiedy ma obliczyć kto jest starszy wyskakuje błąd:
Podaj rok urodzenia Michała 1992
Podaj miesiąc urodzenia Michała 3
Podaj dzien urodzenia Michała 4
Podaj rok urodzenia Igora 1993
Podaj miesiąc urodzenia Igora 1
Podaj dzień urodzenia Igor 3
Policzymy kto jest starszy
Traceback (most recent call last):
  File "C:\Users\ThinkPad\Desktop\Programowanie\Porównywanie Dat.py", line 9, in <module> if datetime(rM, mM, dM) > datetime(rI, mI, dI):
TypeError: an integer is required (got type str)

(Odwzorowałem wszystko 1:1)
Kod
from datetime import*
rM = int(input("Podaj rok urodzenia Michała "))
mM = int(input("Podaj miesiac urodzenia Michała "))
dM = int(input("Podaj dzien urodzenia Michała "))
rI = (input("Podaj rok urodzenia Igora "))
mI = int(input("Podaj miesiac urodzenia Igora "))
dI = int(input("Podaj dzien urodzenia Igor "))
print("Policzymy kto jest starszy")
if datetime(rM, mM, dM) > datetime(rI, mI, dI):
   print("Igor jest starszy!")
elif datetime(rI, mI, dI) > datetime(rM, mM, dM):
   print("Michal jest starszy!")
else:
   print("Sa w tym samym wieku!")
input("\n\nAby zakonczyc program kliknij Enter")
Zapisane
« Odpowiedz #1 : 11:15 07/12/18 »
Guaz Offline
Professional Python User

Zobacz profil
***

Reputacja: 41
Płeć: Mężczyzna
Wiadomości: 334


Kod
rI = (input("Podaj rok urodzenia Igora "))
W tej linii zgubiłeś int  Duży uśmiech

@Edit:
Error to w sumie pokazuje:
Kod
TypeError: an integer is required (got type str)

Jeden z argumentów jest typu str, a potrzebny jest int. Powyżej, kod wskazuje linie:
Kod
if datetime(rM, mM, dM) > datetime(rI, mI, dI):

Więc jeden z powyższych jest str, zamiast int Uśmiech. A domyślnie input jest str, więc można zgadywać że w którymś miejscu brakuje zmiany na int'a :d.
Zapisane

Python 3.5.2 / Mint
« Odpowiedz #2 : 11:51 07/12/18 »
Horvas Offline
Hello World!

Zobacz profil
*

Reputacja: 0
Wiadomości: 2


Faktycznie bardzo dziękuję  Chichot
Zapisane
Strony: [1]   Do góry
Drukuj
Skocz do:  

© 2007 - 2018 Polish Python Coders Group
Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines | Theme by PixelSlot