2012-09-15 5 views
-1

작동하는 데 문제가 있습니다. 내 함수는 *Asterisk 문자를 허용하는 매개 변수 여야하며 후속 줄에 별표 1 개, 별표 3 개, 별표 5 개를 출력합니다. 따라서 첫 번째 줄에는 1ST, 두 번째 줄에는 3ST가 표시됩니다. 매개 변수는 임의의 int을 허용합니다.파이썬 기능 디버깅

내 시도 : 귀하의 질문에

def arrowHead(n): 
    spaces = n/2 
    for x in range(1, n+2, 2): 
     string_ln = '' 
    for num in range(spaces): 
     string_ln = string_ln + ' ' 
    for num2 in range(x): string_ln = string_ln + '*' 
     spaces = spaces - 1 
     print string_ln 
     final_string = '' 
    for x in range(n/2): 
     final_string = final_string + ' ' 
     final_string = final_string + '*' 
    for x in range(3): 
     print final_string 
+0

이 숙제가 있습니까? – mVChr

+1

작동하지 않는 것을 말하지 않았습니다. – Aesthete

+0

@mVChr 아니요, 샘플 테스트 문제 저는 월요일에 테스트하기 전에 갈 예정입니다. –

답변

0

명확하지,하지만 당신은이

def arrowHead(n): 
    print '*' * (2*n-1) 

업데이트와 함께 이동 시간의 별표 홀수 번호를 인쇄하려면 : -

>>> def arrow(n,flag=1): 
    if flag<n: 
     print (' '*(arrow(n,flag+1))+' * '*(n-(2*flag-1))) 
    return 2*flag-1 

>>> arrow(10) 




      * 
      * * * 
     * * * * * 
     * * * * * * * 
    * * * * * * * * * 
+0

고마워요! 그러나, 나는 어떻게 화살 머리를 pryamind 대신에 다이아몬드처럼 보이게 할 수 있습니까? 화살촉처럼 (9) 당신은 하나의 천체를가집니다. 첫 번째 줄, 두 번째 줄, 세 번째 줄, 두 번째 줄, 마지막 줄의 줄 수? –

+0

@queensmatin : - 답변을 업데이트했습니다 ......... – user1655481

4

공백 사이에 문자를 인쇄 할 수 없으므로 이런 식으로 화살표 헤드를 인쇄 할 수 없습니다!

다음과 같이 시도해 볼 수 있습니까?

def arrow(n): 
    for x in range(n+1): 
    print (' '*n)+(' *'*x) 
    n -= 1 

>> arrow(7) 
>> 
     * 
     * * 
    * * * 
    * * * * 
    * * * * * 
    * * * * * * 
* * * * * * * 
+0

와우, 정말 고마워요! 나는 내가 잘못한 것을 본다. 마지막 질문 하나, 어떻게하면 화살표 머리를 피리새 대신 다이아몬드 모양으로 만들 수 있습니까? –

+0

나는 여기서 확신 할 수있을 것이다. 내가 준 코드는 3 줄이고, 그 반대를 할 필요가있다. 이 답이 원래 질문에 맞는 경우에는 수락하고 필요하면 다른 질문을하십시오. – Aesthete

+0

여분의 공간이 없으면'('*'* x)'를 쓰는 대신에 비스듬한 이유가 있습니까? –

2

파이썬 스크립트를 디버그하려면 pdb을 사용할 수 있습니다. 예를 들어, 시스템의 쉘 또는 명령 줄 :

python -m pdb yourscript.py 

당신은 다음 (함수 호출에 어떤 단계), (이 함수 호출을 건너 뜁니다) sn를 사용하여 스크립트를 통해 단계 수, p yourvarname를 사용하여 변수의 상태를 인쇄 다른 여러 명령을 사용하십시오 (모두 보려면 help을 사용하고 자세한 도움말은 help somecommand을 참조하십시오).