문제
구구단의 일부를 다음과 같이 출력하는 프로그램을 작성하시오.
곱셈의 결과는 오른쪽으로 맞추어 출력을 하고 결과값 사이의 공백은 3칸으로 한다.
출력형식 예) 2_*_1_=__2___ (_는 공백을 나타내는 것임)
출력예
2 * 1 = 2 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 2 * 5 = 10
3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 3 * 4 = 12 3 * 5 = 15
4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16 4 * 5 = 20

풀이 1 )
for i in range(2,5):
for j in range(1,10):
print(i, "*", j, "=", i*j, " ", end = '')
if(j == 9):
print()
풀이 2 )
def make_string(num, i):
return f"{num} * {i} = {num * i:>2} "
for i in range(2, 5):
line = ""
for j in range(1, 6):
line += make_string(i, j)
print(line.strip())
풀이 3 )
i2 = 1
i3 = 1
i4 = 1
while i2 <= 5:
if 2*i2 < 10:
print('2 *', i2, '= ', 2*i2, ' ', end='')
i2 += 1
else:
print('2 *', i2, '=', 2*i2, ' ')
i2 += 1
while i3 <= 5:
if 3*i3 < 10:
print('3 *', i3, '= ', 3*i3, ' ', end='')
i3 += 1
elif i3 == 5:
print('3 *', i3, '=', 3*i3, ' ')
i3 += 1
else:
print('3 *', i3, '=', 3*i3, ' ', end='')
i3 += 1
while i4 <= 5:
if 4*i4 < 10:
print('4 *', i4, '= ', 4*i4, ' ', end ='')
i4 += 1
elif i4 == 5:
print('4 *', i4, '=', 4*i4, ' ')
i4 += 1
else:
print('4 *', i4, '=', 4*i4, ' ', end ='')
i4 += 1
풀이 4 )
def string_product(a,b):
string = f"{a} * {b} = {a*b:>2} "
return string
for i in range(2,5):
line =""
for j in range(1,6):
line = line+string_product(i,j)
print(line.strip())
'배운다 > 파이썬' 카테고리의 다른 글
[파이썬] 별찍기 550 : 반복제어문3 - 자가진단3 (0) | 2020.07.22 |
---|---|
[파이썬] 별찍기 634 : 반복제어문3 - 자가진단2 (0) | 2020.07.22 |
[파이썬] 평균, 패스/페일 546: 반복제어문2 - 자가진단6 (0) | 2020.07.22 |
[파이썬] 삼각형넓이출력 129 : 반복제어문1 - 형성평가5 (0) | 2020.07.21 |
[파이썬] 나라 수도 출력 633 : 반복제어문1 - 자가진단6 (0) | 2020.07.21 |