把当时的代码放出来,大家共同学习,互相帮助
题目:
输入样例1:
6767
输出样例1:
7766 - 6677 = 1089
9810 - 0189 = 9621
9621 - 1269 = 8352
8532 - 2358 = 6174
输入样例2:
2222
输出样例2:
2222 - 2222 = 0000
注意:
1.题目中输入的是(0,10000)的数,不一定是4位数,如果不是4位数,我们要用0补齐4位
2.两数相减之差可能不是4位数,要用0补齐
代码如下(Python):
def main(): # 主函数
number = input()
if len(number) != 4: # 输入不足四位的用0补足四位
number = number.zfill(4)
if number[0] == number[1] == number[2] == number[3]: # 输入的数四位全相同则输出
print('{} - {} = 0000'.format(number, number))
else:
while True: # 循环调用make_difference直到number=‘6174’
number = make_difference(number) # 差值赋给number
if number == '6174':
break
return 0
def make_difference(num): # 求差并返回结果
num = list(num) # 以字符串每个字符为列表元素转换为列表
num.sort(reverse=True) # 降序排列
num = ''.join(num) # 列表元素拼接为字符串
num_reverse = num[::-1] # 字符串倒置
difference = str(int(num) - int(num_reverse)).zfill(4) # 差用0补齐4位
print('{} - {} = {}'.format(num, num_reverse, difference)) # 格式化输出
return difference
main()