2012-07-04 4 views
0

프로그램에서 사용자에게 두 개의 숫자를 가져와야합니다. 첫 번째 숫자는 삼각형의 양입니다. 두 번째 숫자는 삼각형 당 행의 양입니다.사용자 입력에서 모양 만들기

내가 내 인생은 비록 삼각형을 얻을 방법을 알아낼 수 없습니다

numRows = input('Please enter the number of rows: ') 
numRows = eval(numRows) 
numAst = 1 
for i in range(numRows): 
    print(numAst*'*') 
    numAst += 1 

우리가 단지 한 사각형 문제를 기반으로. 내부 루프를 다시 시작하기 위해 일종의 외부 루프가 필요하다는 것을 알고 있지만 어떻게해야하는지 잘 모르겠습니다.

+0

"사각형 문제"코드가 삼각형을 생성하는 것처럼 보입니다. 원하는 수만큼 제어되는 외부 루프에 넣으십시오. 중첩 루프는 포함 된 것보다 한 단계 더 들여 쓰기가됩니다. – martineau

답변

1

먼저 안전하지 않은 사용자 입력을 정수로 변환하려면 eval을 사용하는 것이 조금 위험하므로이 값을 int으로 변경했습니다.

둘째, 내부 루프 X 번을 반복하려면 삼각형 수의 값으로 중첩 루프를 만들어야합니다. 물론 내부 루프 함수를 변경하여 삼각형을 인쇄해야합니다.

이 시도하고 위의 설명에서 이해할 수 있는지 :

numTris = input('Please enter the number of triangles: ') 
numTris = int(numTris) 
numRows = input('Please enter the number of rows: ') 
numRows = int(numRows) 
for _ in range(numTris): 
    for numAst in range(1, numRows + 1): 
     print(numAst * '*') 
    print('') 

참고 : 변수 _은 일반적으로 사용하지 않을 값에 대한 규칙에 따라 사용됩니다. 이 경우에는 루프를 만들 때만 필요하지만 루프 내에서는 사용하지 마십시오.

관련 문제