|
发表于 2018-2-23 17:59:05
|
显示全部楼层
def max_min(num):
num = str(num) #把整数转成字符串
num_list = list(num) #把字符串转成列表
max_list = sorted(num_list,reverse = True) #将列表从小到大排列
if len(max_list) == 3: #计算最大值
max_num = int(max_list[0])*1000+int(max_list[1])*100+int(max_list[2])*10
else:
max_num = int(max_list[0])*1000+int(max_list[1])*100+int(max_list[2])*10+int(max_list[3])
min_list = sorted(num_list,reverse = False)
if len(min_list) == 3: #计算最小值
min_num = int(min_list[0])*100+int(min_list[1])*10+int(min_list[2])
else:
min_num = int(min_list[0])*1000+int(min_list[1])*100+int(min_list[2])*10+int(min_list[3])
chazhi = max_num-min_num #计算差值
print('max=%d,min=%d,cha=%d'%(max_num,min_num,chazhi)) #调试信息
return max_num,min_num,chazhi
input_num = input('请输入一个4位数...\r\n注意:1111,2222,3333,4444,5555,6666,7777,8888,9999除外')
global chazhi,max_num,min_num #定义一些变量
count = 0
chazhi = int(input_num) #把输入的转成整数
while chazhi != 6174:
max_num,min_num,chazhi=max_min(chazhi) #这里直接写max_min(chazhi)怎么不行
count +=1
print('运算%d次'%count)
print('完成') |
评分
-
查看全部评分
|