mocchaso note

サーバーエンジニアが何か色々呟いているところ。

Python100本ノック 7本目~10本目

Python100本ノック、7本目から10本目までをやりました。

qiita.com

7本目:FizzBuzz問題の内、整数nまでの"z"の個数を計算し表示せよ


条件:if文for文を使用してはいけない。

for文とif文を使わないっていう条件が、やっぱり難しかったです。

  • //演算子
    小数点以下を切り捨てた割り算を行う(割り算の整数部分の結果を出す)


8本目:為替自動換算クラスの作成


問題:日本円をドルとユーロに換算するクラスを作成せよ。
条件:

  • 1ドル=109円、1ユーロ=129円で換算(2018年5月8日時点)
  • クラスの引数に日本円を入力して、その後その値を各通貨に換算できるようにする。


Pythonのクラス:継承無しの場合は、class a()のように末尾に()を付けなくてOK。
付けても動作はする模様。
Pythonのコンストラクタ:def __init__(self)

markdownだと、「_」は「\_」と書かないとダメなんですね...。
※インラインのコード表示なら、「_」で良いんですねー。


9本目


問題:キャラクターのステータスを登録し、互いに攻撃することができるクラスを作成せよ。
条件:

  • キャラクターは名前、体力の現在値、体力の最大値、攻撃力、防御力の
    5つのパラメータを持っており、いつでも参照することができる。
  • キャラクターは別のキャラクターを攻撃して、相手の体力を
    自分の攻撃力(-相手の防御力)分だけ減らすことができる。


特に詰まるところなく進められました。


10本目


問題:整数Xの各桁の数字の和をf(X)としたとき、Xがf(X)で割り切れる場合、
X はハーシャッド数である。整数Nが与えられるので、ハーシャッド数かどうか判定せよ。

記事では、str(整数N)の後、list()map()を組み合わせてsum()を使っていました。 map()の存在を知らず、思いつきませんでした・・・。



コツコツ進めていきたいと思います・・・!