だから、誰かが18歳を超えていれば投票できるので、うまくいくプログラムを作る必要があります。timedeltaを整数に変更する
しかし、私は入力された生年月日が18年以上前であるかどうかをプログラムに計算させる方法に苦労しています。私は、今日の日付から生年月日を取り除くなど、さまざまなことを試みました。
現在、datetime.timedelta形式の生年月日と、if文で18と比較できる整数との間の差異を変更することは簡単にできると思います。
私はあまりにも複雑なことはしたくないです。
ここに私の現在のコードです:
from datetime import datetime
while True:
inp = input("Enter date in format yyyy/mm/dd")
try:
then = datetime.strptime(inp, "%Y/%m/%d")
break
except ValueError:
print("Invalid input")
diff = then - datetime.now()
diff = -diff
years = diff/365.25
years = int(years)
if years >= 18:
print("You can vote")
else:
print("You can't vote")
現在の問題は、それを変更しようとしているのラメの方法でしたyears = int(years)
ですが。
どうすればこの問題を解決できますか?
(その後、datetime.now())[ 'dateutil'](http://labix.org/python-dateutil#head-ba5ffd4df8111d1b83fc194b97ebecf837add454)ライブラリ、' relativedeltaを見てみましょう.years'がすべきあなたが何をしているのか教えてください。 – asongtoruin
@asongtoruinしかし、すでに入力されているのではなく、ユーザが日付を入力してほしい –
その時点以降、 'datetime'形式の変数への入力を読み込んだので、質問は機能的には同じです – asongtoruin