python数字排序

问题遇到的现象和发生背景

程序运行结果示例:
请输入一个非负整数,输入0退出程序:123
3 2 1
请输入一个非负整数,输入0退出程序:1234
4 3 2 1
请输入一个非负整数,输入0退出程序:0
程序运行结束

问题相关代码,请勿粘贴截图

while True:
a = input("请输入一个非负的整数")
if a!=0:
b = str(a)
c = list(b)
c.sort(reverse=True)
for word in c:
print(word, end=" ")
print("\n")
else:
print("程序运行结束")
break

运行结果及报错内容

输入0无法跳出循环

我的解答思路和尝试过的方法
我想要达到的结果

应该用字符0,而不是数字0

while True:
    a = input("请输入一个非负的整数")
    if a!='0':
        b = str(a)
        c = list(b)
        c.sort(reverse=True)
        for word in c:
            print(word, end=" ")
        print("\n")
    else:
        print("程序运行结束")
        break