Python3 for文の応用
for文を2回使うと以下のように九九の表を作れます。
for i in range(1, 10):
for j in range(1, 10): # i の段を横1列に出力する
val = i * j
if val < 10: # 1桁の場合は空白入れて調整
print(" ", end="")
print(" ", val, 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
たてH cm よこ W cm の長方形を描くプログラムを作成します。1 cm × 1cm の長方形を '#'で表します。H, W がともに 0 のとき、入力の終わりとします。
while True:
H,W=map(int,input().split())
if H==0 and W==0:
break
for i in range(0,H):
for j in range(0,W):
print('#',end='')
print()
print()
5 6
######
######
######
######
######
0 0
>>>
長方形の中身を「.」で埋める場合は以下のようなコードになります。
while True:
H,W=map(int,input().split())
if H==0 and W==0:
break
for i in range(0,H):
for j in range(0,W):
if i==0 or i==H-1 or j==0 or j==W-1:
print("#",end="")
else:
print(".",end="")
print()
print()
5 6
######
#....#
#....#
#....#
######
3 3
###
#.#
###
0 0
>>>
チェス盤みたいに交互に並べたい場合は以下のようになる。
while True:
H,W=map(int,input().split())
if H==0 and W==0:
break
for i in range(0,H):
for j in range(0,W):
if (i+j)%2==0:
print("#",end="")
else:
print(".",end="")
print()
print()
5 6
#.#.#.
.#.#.#
#.#.#.
.#.#.#
#.#.#.
3 3
#.#
.#.
#.#
1 1
#
0 0
>>>
この記事が気に入ったらサポートをしてみませんか?