博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 学习随笔
阅读量:5344 次
发布时间:2019-06-15

本文共 913 字,大约阅读时间需要 3 分钟。

要求:

用户输入一个数,比如输入387。

需要把387打乱,然后将这三个数组合成最大数输出。

如果最大值和用户输入的等大,输出-1。

方法一:

#!/user/bin/env python# _*_coding:utf-8_*_import itertoolsnumber = raw_input("请随意输入一个整数:")li = []li_2 = []for i in number:    li.append(i)li_3 = list(itertools.permutations(li, len(li)))for n in li_3:    li_2.append(int("".join(list(n))))max_number = max(li_2)print '-1' if max_number == int(number) else max_number

 方法二(朋友写):

来回提取输入数的最大值,然后输出的就是最大值。

def next_big(n):    list_data=[int(i) for i in str(n)] #将n转换str,然后遍历,将遍历元素int后加入list_data列表    tmp=list_data==reversed(list_data) #将list_data列表倒置    res=[]    while len(list_data)>0:        res.append(max(list_data)) # 循环将list_data中最大的元素加入res列表        del list_data[list_data.index(max(list_data))] # 删除list_data中最大的元素    return -1 if tmp else int("".join([str(i) for i in res]))  #在res中的元素遍历后定义为str然后转换为list,再int。print next_big(476)

  

 

转载于:https://www.cnblogs.com/wuqiangroy/p/5984308.html

你可能感兴趣的文章
组合数
查看>>
CMD批处理延时启动的几个方法
查看>>
转:LoadRunner中web_custom_request 和 web_submit_data的差别
查看>>
HTC G7直刷MIUI开启A2SD+亲测教程
查看>>
shiro的rememberMe不生效
查看>>
const 不兼容的类型限定符问题
查看>>
OpenCV的配置
查看>>
spring Cache + Redis 开发数据字典以及自定义标签
查看>>
成功连上数据库顿感世界美好许多
查看>>
编程注意2
查看>>
《C++ Primer Plus》第12章 类和动态内存分配 学习笔记
查看>>
javascript中sort()排序方法总结
查看>>
实现聊天界面的代码
查看>>
自己生成一个NDK的浅析
查看>>
Excel数据导入到数据库
查看>>
jQuery最佳实践
查看>>
SELinux FAQ
查看>>
Java中synchronized同步的理解
查看>>
python 数值计算库
查看>>
java 服务重启 js 中被注释代码仍然执行
查看>>