|
发表于 2018-2-25 18:31:55
|
显示全部楼层
import random
def ListJianFa(max,min):
flag=False
result_list=[]
for i in range(3,-1,-1):
if flag == True:
max[i]-=1
flag = False
if max[i] >= min[i]:
flag = False
result_list.append(max[i] - min[i])
else:
flag = True
result_list.append(max[i] + 10 - min[i])
result_list.reverse()
return result_list
def ListMaxMin(temp):
a_max = sorted(temp, reverse=True)
a_min = sorted(temp, reverse=False)
if a_min==a_max:
print("不能为4位相同数")
return
result_list = ListJianFa(a_max, a_min)
b_list = list(map(str, result_list))
b_str=''.join(b_list)
if int(b_str)!=6174:
ListMaxMin(result_list)
return result_list
def ListMaxMin2(temp,num):
a_max = sorted(temp, reverse=True)
a_min = sorted(temp, reverse=False)
if a_min == a_max:
print("不能为4位相同数")
return
result_list= ListJianFa(a_max, a_min)
b_list = list(map(str, result_list))
b_str=''.join(b_list)
print(b_str)
num=num+1
if int(b_str)!=6174:
(a, num)=ListMaxMin2(result_list,num)
return (result_list,num)
a=random.randint(1000,9999)
print(a)
a_list=list(map(int,str(a)))
ListMaxMin(a_list)
(result_list,num)=ListMaxMin2(a_list,0)
b_list = list(map(str, result_list))
b_str=''.join(b_list)
print(num,'<=7 满足条件',a,'计算结果为:',b_str) |
评分
-
查看全部评分
|