2015-04-10 3 views
-4

Вот мой кодЧто мне делать, чтобы исправить мой код?

def print_chars(num,char): 
    print(char*num) 
    return 

def sum_arithmetic_seq(num): 
    total= num 
    for i in range(1,num): 
     total += i 

    return total 



def factorial(num): 
    total= num 
    for i in range(1,num): 
     total *= i 

    return total 


#final 
for num in range(1,7): 
    print(num) 
    print('sum :',print_chars(sum_arithmetic_seq(num), '*')) 
    print('factorial:',end = ' ') 
    print_chars(factorial(num),'#') 

вот мой выходной сигнал

1 
* 
sum : None 
factorial: # 
2 
*** 
sum : None 
factorial: ## 
3 
****** 
sum : None 
factorial: ###### 
4 
********** 
sum : None 
factorial: ######################## 
5 
*************** 
sum : None 
factorial: ######################################################################################################################## 
6 

********************* 
sum : None 
factorial: ################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################ 

Мне нужно получить звезды, где сумма: это то, что я должен делать?

+0

'print_chars' не возвращает ничего. – miradulo

+0

Вы бы получили намного лучше, хотя бы быстрее, ответы, если ваш заголовок отразил вашу проблему (например, «помочь распечатать повторяющиеся символы») – JGreenwell

ответ

1

Rewrite print_chars поэтому он возвращает значение вместо его печати.

def print_chars(num,char): 
    return char*num 

print('sum :',print_chars(sum_arithmetic_seq(num), '*')) будет работать по желанию. Хотя вам придется изменить свою последнюю строку от print_chars(factorial(num),'#') до print print_chars(factorial(num),'#').

(А для дополнительных очков стиля, переименовать его из print_chars к чему-то еще, потому что он не печатает символы больше. repeated_chars? Это до вас.)

+0

Упомянуто для указателя о дополнительных точках стиля: P – miradulo

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