Python换零钱组合问题

如果将20元换成零钱,要求只能换成1元、5元、10元面值的纸币,共有多少种兑换方法,分别是什么?
分析:20元中,每种纸币可能出现的次数:
10元纸币是0-2次
5元纸币是0-4次
1元纸币是0-20次。
判断所有组合中,币值总和正好是20元的情况有几种即可。请完善如下程序

n=0
for x in range(3):
    for y in range(5):
        for z in range(21):
         if(x+y+z==20):
                print("10元=%d张,5元=%d张,1元=%"%(x,y,z))
print("兑换纸币方法有%种"%n)

报错

Traceback (most recent call last):
  File "C:/Users/DELL/Desktop/python/DAYDAYUP.py", line 6, in 
    print("10元=%d张,5元=%d张,1元=%"%(x,y,z))
ValueError: incomplete format


n = 0
for x in range(3):
    for y in range(5):
        for z in range(21):
            if (x + y + z == 20):
                print("10元=%d张,5元=%d张,1元=%d张"%(x, y, z))
                n += 1
print("兑换纸币方法有%d种" % n)