2013-10-02 3 views
0

Я нахожусь в процессе самообучения Python и хотел бы знать, есть ли эквивалент end = "", используемый с print() для функции возврата. Например:Что эквивалентно 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 - я мог видеть, как это будет путать с новым программистом. – 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().

Вы могли бы в конечном итоге с чем-то вроде этого:

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

Благодарим за терпение! –

0

Другой способ вы могли бы сделать это с помощью функции генератора:

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

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

Примечание: функция генератора делает в основном то же самое, выражение экспрессии Robᵩ показало (внутри '\n'.join()), но стоит знать, как создать функцию генератора для более сложных случаев.

Смежные вопросы