첫째; 당신은 단지 네 개의 공간을 들여 쓰기 (또는 {} 아이콘을 사용)에 의해 텍스트로 출력을 표시 할 수 있어야한다 :
Please enter the width of the table:4
0 0 0 0 0
0 1 2 3 4
0 2 4 6 8
0 3 6 9 12
0 4 8 12 16
문제는 각 번호가 같은 폭 될 것입니다 가정하고 있다는 점이다. 모든 것이 1 문자 폭이기 때문에 3x3까지 작동하지만 5x5의 경우 일부 문자는 하나의 문자이고 일부는 2 개입니다 (물론 10x10에서 더 악화됩니다).
쉽게 수정할 수있는 방법은 각 셀의 너비가 동일해야합니다.
먼저 가장 큰 크기를 계산해야합니다. 그러나 그것은 쉽습니다. 크기는 width*width
입니다.
다음으로 숫자를 사용하여 여러 문자를 사용하는 방법을 알아야합니다. 파이썬에는이 작업을 수행 할 수있는 몇 가지 방법이 있습니다. 구식 필드 지정자를 사용하여이를 수행하는 방법을 보여 드리 겠지만,이를 새로운 스타일의 형식 문자열로 변환하는 방법을 살펴보아야합니다. (이것이 숙제 인 경우, 파이썬 3을 가르치는 누군가는 구식 필드 스펙을 사용하기 위해 당신을 등급 지어 줄 것입니다. 그것은 당신 자신의 자기 교육을 위해서라면 두 가지 방법 모두를 알아낼 가치가 있습니다.) 또는, 정적 '%4d'
사양을 작성하는 대신 가변 너비 형식 사양 ('%*d'
)을 사용하여 형식을 변환하는 방법을 살펴보아야합니다. (nneonneo의 대답은 그에게 단서를 제공해야합니다.) 이제
width = int(input("Please enter the width of the table:"))
def print_times_table(width):
row = 0
col = 0
fieldspec = '%' + str(len(str(width * width))) + 'd'
width += 1
while row < width:
col = 0
while col < width:
print(fieldspec % (row*col,), ' ', end="")
col += 1
print("\n", end='')
row +=1
print_times_table(width)
는 당신이 얻을 :
Please enter the width of the table:4
0 0 0 0 0
0 1 2 3 4
0 2 4 6 8
0 3 6 9 12
0 4 8 12 16
을 (당신이, 중요하지 않습니다 원하는대로 번호를 사용할 수 있습니다)이 똑같은 인 경우 숙제, 당신은 그렇게 말해야합니다 ... – Triptych