python题,真的不理解,不会。

编写程序,模拟数字魔术游戏。在游戏中,魔术师要每位观众心里想,一个三位数abc (a、b、c分别是百位、十位和个位数字),然后魔术师让观众心中记下acb、bac、 bca、cab、cba五个数以及这5个数的和值。只要观众说出这个和是多少,i则魔术师一定能猜出观众心里想的原数abc是多少。例如,观众甲说他计算的和值是1999;则魔术师立即说出他想的数是443,而观众乙说他计算的和值是1998,则魔术师说:“你算错了!”。

[输入]

输入一个正整数。

[输出]

输出对应的三位数。如果对应的三位数不存在,则输出:"The sum you calculatedis wrongl"

[输入示例]

1998

[输出示例]

The sum you calculated is wrong !

循环方法就会,写算法就不会了

def get_magic_num(n):
    for a in range(0,10):
        for b in range(0, 10):
            for c in range(0, 10):
                n1 = 100 * a + 20 * a + 2 * a
                n2 = 200 * b + 10 * b + 2 * b
                n3 =200 * c + 20 * c + c
                if (n1+n2+n3) == n:
                    return "{}{}{}".format(a,b,c)
    return "The sum you calculated is wrong !"

print(get_magic_num(555))
print(get_magic_num(1999))
print(get_magic_num(1998))