728x90
반응형
간단 버전
2차원 배열을 이용해 단순 곱셈 출력
1
2
3
4
|
for i in range(2, 10):
for j in range(1, 10):
print(f'{i} x {j} = {i * j}')
print()
|
cs |
화면가득 채우기 버전
각각의 구구단을 화면에 꽉 채우기 위해 화면 크기와 구구단 크기를 계산, 위에서 아래로 한꺼번에 출력하도록 작성
Python 3은 변수명을 유니코드로도 작성할 수 있음
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
import math
def print_element_row(base_list, multiply, element_width):
row_string = ''
for base in base_list:
row_string += f'{base} x {multiply} = {base * multiply}'.ljust(element_width)
print(row_string)
def print_row(base_list, multiply_list, element_width):
for number in multiply_list:
print_element_row(base_list, number, element_width)
print()
def get_row_base_list(base_list, row, column_count):
row_base_list = []
for column in range(0, column_count):
index = (row * column_count) + column
if index < len(base_list):
row_base_list.append(base_list[index])
else:
break
return row_base_list
def print_multiplication_tables(base_list, multiply_list, screen_width, element_width):
column_count = math.floor(screen_width / element_width)
total_row = math.ceil(len(base_list) / column_count)
row_base_list = []
for row in range(0, total_row):
row_base_list = get_row_base_list(base_list, row, column_count)
print_row(row_base_list, multiply_list, element_width)
row_base_list.clear()
화면_가로_길이 = 80
각_단_가로_길이 = 12
단_수_목록 = list(range(2, 10))
곱할_수_목록 = list(range(1, 10))
print_multiplication_tables(단_수_목록, 곱할_수_목록, 화면_가로_길이, 각_단_가로_길이)
|
cs |
반응형
'dev > python' 카테고리의 다른 글
[python] 파이썬 파일 열기 (open) (9) | 2023.06.08 |
---|---|
[python] 파이썬 디지털 숫자 그리기 (1) | 2020.12.10 |
[python] 파이썬 랜덤함수 사용하기 (randrange, choice, shuffle) (0) | 2020.12.04 |
[python] 파이썬 자판기 (Vending Machine) (0) | 2020.12.04 |
[python] 파이썬 파일 존재여부 확인 (exists, isfile, isdir) (0) | 2020.12.01 |
댓글