一、题目
输入三个数字(整型),让他们从小到大进行排序,这个题目在很多语言学习的时候都会出现,也是一个练习初学者思维严谨性的题目,下面就来看看怎么排序这几个数字。
二、题目分析
在日常生活中这样的场景是经常遇到的,排序对于我们来说也很简单,数字不多一眼就能看出来。在数学中我们也很容易判断三个数的大小,只要用减法进行比较就可以了,比如55, 39, 61这三个数,我们可以先用55-39如果值大于0就说明55大于39,一次类推就能比较出三个数字的大小。编程语言上的判断我们也可以用数学上一样的方法进行比较得出结果。下面我们就来看看如何通过python代码实现。
三、解答
方法1:使用数学方法一一比较
a = 55
b = 39
c = 61
# 首先我们能看出来最终结果是c > a > b
if a - b > 0: # 说明a > b
if a - c > 0: # 说明a > c
if b - c > 0: # 说明b > c
print('a > b > c') # 返回最终结果
else: # 如果b - c < 0
print('a > c > b')
if a - b < 0: # 说明a < b
if a - c > 0: # 说明a > c
print('b > a > c') # 返回最终结果
if a - b < 0:
if a - c < 0:
if b - c > 0:
print('b > c > a')
else:
print('c > b > a')
if a - b > 0:
if a - c < 0:
print('c > a > b')
方法2:自动采集你输入的三个数字来做出快速比较
raw = []
for i in range(3):
x = int(input('num%d: ' % (i)))
raw.append(x)
for i in range(len(raw)):
for j in range(i, len(raw)):
if raw[i] > raw[j]:
raw[i], raw[j] = raw[j], raw[i]
print(raw)
raw2 = []
for i in range(3):
x = int(input('num%d: ' % (i)))
raw2.append(x)
print(sorted(raw2))