Pythonでナベアツ

Python入門 ~Pythonのインストール方法やPythonを使ったプログラミングの方法について解説します~ | PythonWebを読んだ後、一回何か作ってみようと思って
一番最初に思い浮かんだのがこれ。
「1〜100の数字を順に言っていき3の倍数と、3のつく数だけバカになるプログラム」
対戦型ライブコーディングしてきた - てきろぐ(仮)で出たやつです。

コーディング規約

http://www.oldriver.org/python/pep-0008j.html
変数・メソッドは全部小文字で、アンダーバーで単語をつなぐ

ソース

for num in range(1, 101):
	numstr = str(num)
	if num % 3 == 0:
		print numstr + "!!"
	else:
		for idx in range(0, len(numstr)):
			if numstr[idx] == "3":
				print numstr + "!!"
				break
			elif idx == len(numstr) - 1:
				print numstr

これをエディタに書いて、san.pyとでも名前をつけて保存して
コマンドプロンプトでこのファイルが置いてある場所まで移動して「python san.py」で実行。
制御文とか覚えただけで何を作れって言うんだ・・・って時にナベアツは良いw

もっとシンプルに

上の入門のページには書いてなかったけどfind関数使えばもっと簡単に書けるっぽい

for num in range(1, 101):
	if num % 3 == 0 or str(num).find("3") != -1:
		print str(num) + "!!"
	else:
		print num

どんな関数があるのか知っておくのは非常に大事ですね。

感想

  • 1〜100までを現すのはrange(1, 100)かと思った
  • 変数宣言が無いのに違和感
  • 型を書かないのに違和感