这是我的代码
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 :(得分:1)
重写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
?这取决于您。)< / p>