1 问题 编写函数fn(a,n) 求a+aa+aaa++⋯+aa⋯aa(n个a)之和,fn须返回的是数列和,输入正整数a和n的值(两个值都不超过9),并输出fn(a,n)的结果值。 2 方法 运用def 定义函数和for 循环递归方法: 先定义fn(a,n)函数; 运用for循环语句给i赋值;运用str将a转换为字符串形式 运用条件语句判断a和n两个值都不超过9
通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。 代码清单 1 def fn(a,n): for i in range(1,n): #计算a到n个a的值 str_a=str(a)*i sum_number=a+int(str_a) print(sum_number) def int_number(type=''): while True: #获取用户输入的值,并进行判断 number=int(input(f'请输入{type}的值:')) if (0<number<=9): break else: print(f'{type}的值输入有误') return number def main(): a=int_number('a') n=int_number('n') fn(a,n) if __name__=='main__': main() (fn(a,n)) |
3 结语 针对实现fn(a,n)求数列和问题,提出def定义函数和for循环语句,通过上面实验,证明该方法是有效的,本文的方法存在需要注意的是在判断数值的大小时运用的方法。在以后的学习中还需要学习如何将代码进行简化,删去不必要的步骤,在将数值与字符转化的过程中应该合理地进行转换。
|