def fun(n,a): #**********Program********** if n == 1: return a else: return a + fun(n-1, a*10) #********** End ********** def main(): print("【请连续三次计算公式的值:】") for n in range(3): print("【第%d次:】" %(n+1)) a=int(input("【请输入 1-10 之间的数字a:】")) n=int(input("【请输入数字的个数n:】")) sum=0 for i in range(1,n+1): sum=sum+fun(i,a) print("【sum=】",sum) if __name__ == '__main__': main()
时间: 2023-07-23 15:01:36 浏览: 282
python 实现A*算法的示例代码
很抱歉,之前的回答中有个错误。在你给出的代码中,函数fun的实现部分应该放在if语句的内部。以下是修正后的代码:
```python
def fun(n, a):
if n == 1:
return a
else:
return a + fun(n-1, a*10)
def main():
print("【请连续三次计算公式的值:】")
for _ in range(3):
print("【第%d次:】" % (_+1))
a = int(input("【请输入 1-10 之间的数字a:】"))
n = int(input("【请输入数字的个数n:】"))
total_sum = 0
for i in range(1, n+1):
total_sum += fun(i, a)
print("【sum=】", total_sum)
if __name__ == '__main__':
main()
```
在修正后的代码中,函数fun的实现部分正确地放在了if语句的内部。现在,当n等于1时,返回a;否则,返回a加上fun(n-1, a*10)的值。主函数main部分没有变化,根据用户输入的a和n,计算每一项的值并累加到total_sum中,最后输出结果。希望这次能帮到你!
阅读全文