1 #题目:输入三个整数x,y,z,请把这三个数由小到大输出。
代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
2
3
x
=
int
(
input
(
'请输入第一个整数:'
))
4
y
=
int
(
input
(
'请输入第二个整数:'
))
5
z
=
int
(
input
(
'请输入第三个整数:'
))
6
7
if
x > y:
8
num_max
=
x
9
if
num_max < z:
10
num_max
=
z
11
else
:
12
num_max
=
y
13
if
num_max < z:
14
num_max
=
z
15
16
17
if
x < y:
18
num_min
=
x
19
if
num_min > z:
20
num_min
=
z
21
else
:
22
num_min
=
y
23
if
num_min > z:
24
num_min
=
z
25
26
27
if
x > y:
28
if
z > x:
29
num_mid
=
x
30
elif
z < x
and
z > y:
31
num_mid
=
z
32
else
:
33
num_mid
=
y
34
else
:
35
if
z < x:
36
num_mid
=
x
37
elif
z > x
and
z < y:
38
num_mid
=
z
39
else
:
40
num_mid
=
y
41
42
print
(
'输入的三个数字按从小到大排列分别为%d,%d,%d'
%
(num_min,num_mid,num_max))
|
运行结果:
1
2
3
4
5
6
|
[root@HK code_100]
# python code_5.py
请输入第一个整数:
3
请输入第二个整数:
5
请输入第三个整数:
7
输入的三个数字按从小到大排列分别为
3
,
5
,
7
[root@HK code_100]
#
|
代码解释:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
这个题的解题思路是通过比较,分别确认这三个数中的最大数,最小数,以及中间数,然后按顺序输出
其实按照
list
的排序方法最简单,但是用下面方法可以巩固知识练习判断语句。
3
x
=
int
(
input
(
'请输入第一个整数:'
))
# 接收三个整数
4
y
=
int
(
input
(
'请输入第二个整数:'
))
5
z
=
int
(
input
(
'请输入第三个整数:'
))
6
############################################################### 求三个数中的最大值
7
if
x > y:
#当 x > y 时,。
8
num_max
=
x
#将x赋值给最大值
9
if
num_max < z:
#如果最大值小于z
10
num_max
=
z
#那么z就是最大值
11
else
:
12
num_max
=
y
#else,如果x<y,那么最大值就是y
13
if
num_max < z:
#如果最大值小于z
14
num_max
=
z
#那么就将z赋值给最大值,这个else条件默认如果最大值大于z,那么最大值保持不变
15
16
##################################################################求三个数中的最小值
17
if
x < y:
#思路与求最大值相同
18
num_min
=
x
19
if
num_min > z:
20
num_min
=
z
21
else
:
22
num_min
=
y
23
if
num_min > z:
24
num_min
=
z
25
#################################################################求三个数中的中间值
26
27
if
x > y:
#如果x>y
28
if
z > x:
#如果z >x
29
num_mid
=
x
#那么z>x>y,那么x就是中间数
30
elif
z < x
and
z > y:
#如果x>z>y
31
num_mid
=
z
#那么中间数就是z
32
else
:
#第三种情况就是 x>y>z,中间数是y
33
num_mid
=
y
34
else
:
# 与上述类似
35
if
z < x:
36
num_mid
=
x
37
elif
z > x
and
z < y:
38
num_mid
=
z
39
else
:
40
num_mid
=
y
41
42
print
(
'输入的三个数字按从小到大排列分别为%d,%d,%d'
%
(num_min,num_mid,num_max))
#格式化按由小到大输出三个数
|
本文转自snc_snc 51CTO博客,原文链接:http://blog.51cto.com/netsyscode/1743005,如需转载请自行联系原作者