python練習1 九九

私はどの言語を始めるときも、大抵これから作ってみる。
大抵どの言語でも、九九くらいは簡単に作れるからだ。

さて、さっそくやってみる。
ちなみにpythonでの開発手法がまだ私の中で定まっていないので、秀丸ソースコードを書き、Python Shellを起動して、そこにコピペして実行するようにしてみている。

まず感覚的にやってみた。

>>>for i in range(1,9):
	for j in range(1,9):
		print i*j

このサンプルで、不本意なことがいくつかある。

  • 出力が縦に出てしまう
  • 9の掛け算がされてない

どうやらrange()は第二引数にセットした値のひとつ前で終わるらしい。
なのでrange(1,10)に修正。

次に出力が縦に出てしまう問題。
昨晩マニュアルを読んでいて、これについて書いてあった。
print()のお尻に,(カンマ)をつけると、改行をしないとのこと。
これをjのループの中だけつけてあげれば、横に展開される。

ただそれだけだと、今度はずっと横に展開されてしまう。そのため、iのループで、空文字出力でもして、改行させればいい。

こうなった。

>>>for i in range(1,10):
	for j in range(1,10):
		print(i*j),
	print ""

実行結果

1 2 3 4 5 6 7 8 9 
2 4 6 8 10 12 14 16 18 
3 6 9 12 15 18 21 24 27 
4 8 12 16 20 24 28 32 36 
5 10 15 20 25 30 35 40 45 
6 12 18 24 30 36 42 48 54 
7 14 21 28 35 42 49 56 63 
8 16 24 32 40 48 56 64 72 
9 18 27 36 45 54 63 72 81 

これで一応のものはできたけど、桁あわせをして、もっと綺麗に表示されるようにしたい。
それはまた後で。