2016-10-11 3 views
-3
I want to print : 
    1 
    12 
    123 
1234 

와 내가 시도 :for 루프를 사용하여 직각 삼각형을 만드는 방법은 무엇입니까?

num=int(input("number")) 
space=int(num) 
count=1 
while count<num: 
    if count==1: 
    print(" "*space,count) 
    count=count+1 
    space=space-1 
    while count>=2: 
     for n in range(2,num): 
     print(" "*space,list(range(1,n)) 
     space=space-1 

그러나이 작동하지 않습니다. 지정된 결과를 어떻게 인쇄 할 수 있습니까? 감사

+0

게시물의 코드가 아닌 이미지에 코드를 넣으십시오. – Phylogenesis

+0

코드의 들여 쓰기를 수정하여 편집기에있는 코드를 정확하게 나타내십시오. – idjaw

+0

방금 ​​코드를 업로드했습니다. – triumpyhyale

답변

0
print(" "*space,list(range(1,n)) 

이 줄에 괄호를 계산합니다. 그 중 하나는 닫히지 않았으며 의도 한대로 작동해야합니다.

while 루프가 계속 실행되지 않습니다.

을 :

당신이 뭔가를해야 정확히 얼마나 많은 시간을 알 때마다 엄지 손가락의 일반적인 규칙으로, 당신은

이의이 for 루프를 사용하면 코드를 다시 작성 해보자 대신 while 루프의 for 루프를 사용한다

num=int(input("number")) 
output = "" 
for n in range(1,num+1): 
    output = ''.join([output, str(n)]) 
    space = ' ' * (num - len(output)) 
    print(space, output, sep='') 

for 루프 이외의 유일한 실제 변경 사항은 출력을 숫자 목록이 아닌 문자열로 처리하는 것입니다.

+0

모양을 개선 할 수 있습니까? 감사 ! – triumpyhyale

+0

@triumpyhyale 어떤면에서? 출력 될 때 이상하게 보일 경우 출력을 표시하는 데 사용할 글꼴 일 수 있습니다. –

관련 문제