python - 我需要使用嵌套循环从低到高对 3 个数字的列表进行排序。Python
问题描述
我在 Python 中有一个函数的赋值,在函数中使用参数并给函数 3 个数字以从最低到最高排序。有时它有效,有时无效,我无法理解为什么。对此的任何启示都会对我有所帮助。谢谢你。我应该能够更改 Max(a,b,c) 以运行任何数字并产生 (1,2,3)。
def Max(a,b,c):
while a < b:
if b < c:
print(a,b,c)
return
else:
print(a,c,b)
return
while b < c:
if c < a:
print(b,a,c)
return
else:
print(b,c,a)
return
while c < a:
if a < b:
print(c,a,b)
return
else:
print(c,b,a)
return
Max(3,1,2)
解决方案
def Max(a,b,c):
return sorted([a,b,c])[-1]
两行,没有任何循环。任何比这更短的都不是函数。
也return max([a,b,c])
可以,但我知道您出于某些原因想要对数字进行排序
编辑:您的函数被调用Max
,但是在重新阅读您的帖子后,您似乎不想只返回最大值,而是所有这些都按升序排序。如果是这种情况,[-1]
请从上面代码的第二行中删除,并更改函数的名称以避免混淆。
更好的是,不要创建一个函数来执行 python 开发人员为其创建的函数已经存在的任务。只需sorted()
在主代码中的元素列表上使用:这是 pythonic 的方式。
推荐阅读
- vue.js - 如何使用 Vue 将 url 图片转换为 base64
- apache - Apache通过域名访问局域网服务器
- java - Is it safe to give a temporary address ( assigned in a While block ) to a global ListNode?
- petrel - 在 PETREL 中计算给定井附近区域的地震属性
- javascript - Javascript - get specified bit value as int without using Number(n).toString(2)
- python - 如何在数学中使用base2
- c# - 为 .Net Core 选择正确版本的 GCP 数据存储库
- html - 如何从具有多种形式的角度应用程序的 html 页面中删除该行
- java - Kafka-Connect 将 SQL JAR 文件添加到类路径
- android - 无法在 ImageView 中显示图像