2022年03月23日

珍しく、スカッと爽やか、できました。python日記-34

課題 これまでの説明に従って「人」をモデル化したクラスを
実装しましょう。次に入力された今年の西暦から、その人が
今年何歳になるかを計算するメソッド get_age を作成しましょう。

一週間ぐらい、サボりサボり勉強して、やっとですが。
ファイルをpractice28.pyとして、、、
#!/usr/bin/env python3

import datetime

class Person:

def __init__(self, nm):
self.name = nm

def get_age(self, year, month, day):
today = datetime.date.today()
birthday = datetime.date(year, month, day)
self.get_age = (int(today.strftime("%Y%m%d")) \
- int(birthday.strftime("%Y%m%d"))) // 10000

def show_name(self):
print(self.name)

def show_get_age(self):
print(self.get_age,"years old")

person1 = Person("Ryoma Sakamoto")
person1.get_age(1836,1,3)
person1.show_name()
person1.show_get_age()

age_script-4.jpg

課題は、今年何歳になるか、と固定して手加減してくれていますが、
今年の誕生日が来たら、という意味でしょうね。
それでは面白くない、いつなんどき実行しても、
正しい今の年齢が出るようにしなくちゃ、ということで、
がんばりました。

unixのdateコマンドで、いまの年月から対象者が生誕した日を
引き算して、最後に、年数以外のいらない部分を
割り算で削除し、整数だけが残る、つまり、
年数(才)だけが出るようになっています。
// 10000 のところは、そういう意味。
じぶんで考えた? な、わけないでしょ!
借りてきました。詳しい説明は下記サイトに。

ネタを云われた関数に応用するのが難儀だっただけです。

お知恵を拝借したサイト:
https://zenn.dev/wtkn25/articles/python-age-calcurate

それにしても、pythonの需要が多いのか、
サイトは多いですね。お金がなくて独学するしかない場合(私)に
良いサイトを見つけました。
解説と演習がセットになっています。英語で説明は少ないですが、
そのほうが、考えるクセづけにはいいような。
https://www.w3schools.com/python/python_classes.asp

ちなみにですが、坂本龍馬は、グラバーの手先となり、
金儲けしたかっただけ、の説には反対です。
もしもそうだったら、船中八策なんか、残さないです。
え、それさえも指図をウケて? なら殺されないでしょうが。
彼は、日本の英雄。生誕、186才でした。

いまは、どうすれば、寝ぼけた日本国民のアタマを
覚醒させられるかの時代。この惨状を目の当たりにしても、
偉いセンセイ方を崇め奉り、まだいい子になりたくて、
4回目も二の腕する人いるんですか。


posted by ブログ開設者 at 15:57| Comment(0) | linux | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。