2013-10-02 5 views
0

나는 파이썬을 스스로 가르치는 과정에 있으며 반환 함수로 print()와 함께 사용되는 end = ""에 해당하는 것이 있는지 알고 싶어합니다. 예를 들면 다음과 같습니다.반환 함수에서 end = ""와 동일한 것은 무엇입니까?

def shape(num,x): 
    for col in reversed(range(num)): 
      for row in range(col+1): 
       print(x,end="") 
      print() 

원하는 결과를 제공하지만 반환 함수를 사용하여 동일한 결과를 얻으려면 어떻게해야합니까?

+3

반환 함수 란 무엇입니까? –

+2

이것은 무엇을 의미합니까? "반환 함수"란 무엇이며 "종료"할 수있는 것은 무엇입니까? –

+0

나는 그가 return statement를 의미한다고 생각한다 - 이것이 새로운 프로그래머에게 어떻게 혼란 스러울 지 알 수 있었다. – elimirks

답변

1

인쇄 반환 값 :

def shape(num): 
    x = 0 
    for col in reversed(range(num)): 
     for row in range(col+1): 
      x += row 
    return x 
print(shape(82)) 
+0

감사. 고정. – raam86

4

이 어떻게 문자열을 반환하라는거야?

def shape(num,x): 
    result = '' 
    for col in reversed(range(num)): 
      for row in range(col+1): 
       result += x 
      result += '\n' 
    return result 

print (shape(4, '*'), end="") 

문자열에 += 그러나 나쁜 형태의 사용 : 여기에 사용 된 것과 동일한 형태로 다음과 같은 하나의 방법이다. 코드를 계속해서 향상 시키면 목록 내용과 str.join() 기능을 확인하십시오.

def shape(num, x): 
    for col in reversed(range(num)): 
     yield x * (col + 1) 

for line in shape(4, '*'): 
    print(line) 

주 : 발전기 기능이 같은 일로서 기본적으로 수행하는 발전기 기능을 사용

return '\n'.join('*'*(col+1) for col in reversed(range(num))) 
+0

양해 해 주셔서 감사합니다. –

0

당신이 할 수있는 또 다른 방법 :

이 같은 뭔가 끝낼 수 있습니다 생성자 표현 Robᵩ는 ('\n'.join() 안에) 보여 주지만 더 복잡한 경우 생성 함수를 생성하는 방법을 아는 것이 중요합니다.

관련 문제