专业编程基础技术教程

网站首页 > 基础教程 正文

Python实现三个数按大小顺序输出(python编写程序输入三个数按从小到大排列)

ccvgpt 2025-03-23 17:39:45 基础教程 20 ℃


Python实现三个数按大小顺序输出(python编写程序输入三个数按从小到大排列)

任务要求

输入3个数a,b,c,按大小顺序在控制台打印输出。

任务分析

三个数排序的核心在于:

1.比较逻辑:需确保每个数与其他数正确比较大小。

2.变量交换:通过临时变量或直接交换实现数值位置调整。

3.代码简洁性:利用Python特性(如列表排序)简化流程。

任务实现

方法1:条件判断法

a = int(input("输入第一个数: "))
b =
int(input("输入第二个数: "))
c =
int(input("输入第三个数: "))
# 确保a >= b
if a < b:
a, b = b, a
# 确保a >= c
if a < c:
a, c = c, a
# 确保b >= c
if b < c:
b, c = c, b
print(f"从大到小顺序: {a}, {b}, {c}")

运行结果:从键盘上输入字符串“86”“98”“56”

输入第一个数: 86

输入第二个数: 98

输入第三个数: 56

从大到小顺序: 98, 86, 56

进程已结束,退出代码为 0

说明:

  • 通过三次条件判断逐步确定最大值、中间值和最小值。
  • 优点:逻辑直观,无需额外数据结构。

方法2:列表排序法

nums = [
int(input("输入第一个数: ")),
int(input("输入第二个数: ")),
int(input("输入第三个数: "))
]
nums.sort(
reverse=True)
print(f"从大到小顺序: {nums[0]}, {nums[1]}, {nums[2]}")

运行结果:从键盘上输入字符串“86”“98”“56”

输入第一个数: 86

输入第二个数: 98

输入第三个数: 56

从大到小顺序: 98, 86, 56

进程已结束,退出代码为 0

说明:

  • 将数值存入列表后使用sort(reverse=True)降序排列。
  • 优点:代码简洁。

方法3:冒泡排序法

a, b, c = map(int, input("输入三个数(空格分隔): ").split())
# 冒泡排序两轮比较
for _ in range(2):
if a < b:
a, b = b, a
if b < c:
b, c = c, b
print(f"从大到小顺序: {a}, {b}, {c}")

运行结果:从键盘上输入字符串“98 23 68”

输入三个数(空格分隔): 98 23 68

从大到小顺序: 98, 68, 23

进程已结束,退出代码为 0

说明:

  • 应用冒泡排序思想,通过两轮相邻元素比较完成排序。
  • 特点:可扩展至更多元素排序。

方法4:中间变量交换法

a = int(input("输入第一个数: "))
b =
int(input("输入第二个数: "))
c =
int(input("输入第三个数: "))
# 确定最大值赋给a
max_val = max(a, b, c)
min_val =
min(a, b, c)
mid_val = (a + b + c) - max_val - min_val
print(f"从大到小顺序: {max_val}, {mid_val}, {min_val}")

运行结果:从键盘上输入字符串“86”“98”“56”

输入第一个数: 86

输入第二个数: 98

输入第三个数: 56

从大到小顺序: 98, 86, 56

进程已结束,退出代码为 0

说明:

  • 利用max()min()函数快速定位极值,计算中间值。
  • 优点:数学逻辑清晰,减少条件判断次数。

方法5:函数封装法

def sort_three(x, y, z):
if x < y:
x, y = y, x
if x < z:
x, z = z, x
if y < z:
y, z = z, y
return x, y, z
a = int(input("输入第一个数: "))
b =
int(input("输入第二个数: "))
c =
int(input("输入第三个数: "))
result = sort_three(a, b, c)
print(f"从大到小顺序: {result[0]}, {result[1]}, {result[2]}")

运行结果:从键盘上输入字符串“86”“98”“56”

输入第一个数: 86

输入第二个数: 98

输入第三个数: 56

从大到小顺序: 98, 86, 56

进程已结束,退出代码为 0

说明:

  • 将排序逻辑封装为函数,增强代码复用性。
  • 适用场景:需多次调用排序功能的程序。

最近发表
标签列表