Python赶鸭子问题,请问这个出错了怎么改

一个人赶着鸭子去每个村庄卖,每经过一个村子卖去所赶鸭子的一半又一只。
这样他经过了七个村子后还剩两只鸭子,问他出发时共赶多少只鸭子?经过
每个村子卖出多少只鸭子?

img

img

你定义的函数需要3个参数,而你只传了2个进来
如果process不需要传参,那你丢到后面去,不要放中间

位置参数与关键字参数混用时,位置参数必须出现在关键字参数之前,否则就会报错。 ——《Effective Python 2rd》P77


def duck(duck_num):
    for i in range(7):
        duck_num = (duck_num+1)*2
        print('第{}个村,卖{}只鸭,有{}只鸭'.format(7-i, duck_num/2+1, duck_num))
    print('共有{}只鸭'.format(duck_num))


duck(2)

def duck(village,ducknum,process='')

img