for x in range(9):
for y in range(9):
print(x*y)
Python では整数は 0 から始まる。だから上の書式では x と y は 0 から 8 まで 9 回転する。
だから九九の表を作るには x*y ではうまくいかない。(x+1)*(y+1) としよう。
また、Python の print 文では、特に指示しなければ、表示した後に改行する。
改行しないようにするには、終わり方の指示として「,end=('')」をつけた形にする。
for x in range(9):
for y in range(9):
print((x+1)*(y+1),end=(''))
ただしこれでは全ての値が横に並んでしまう。しかも隙間が全く無い。
そこで、まず積の値を表示する際に1文字分の隙間を開けよう。
また、1の段、2の段、…の終わりに改行させよう。そのための記述が print('') である。
さらに、積の値が1桁のときにも1文字分の隙間を開けよう。
for x in range(9):
for y in range(9):
if (x+1)*(y+1)<10:
print(' ',end=(''))
print(' ',(x+1)*(y+1),end=(''))
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
0 件のコメント:
コメントを投稿