The code was released, we learn together, help each other
Title:
Input Sample 1:
6767
Output Sample 1:
7766 - 6677 = 1089
9810 - 0189 = 9621
9621 - 1269 = 8352
8532 - 2358 = 6174
Sample Input 2:
2222
Output Sample 2:
2222 - 2222 = 0000
Note:
1. The title is entered (0,10000) number, not necessarily a 4-digit, four-digit, if not, we use 0 filled four
differential 2. subtraction of two numbers may not be 4 number, use 0 padded
Code below (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()