我对编程很新,我在课堂上遇到问题,我们需要让用户读取三个数字,然后对它们进行排序以使用IF语句查找中位数。我们不能使用排序。我很难搞清楚这一切,并可以使用一些帮助。这是我到目前为止所做的,但我真的不知道该怎么做。
def main():
nums = []
x = eval(input('Enter a number: '))
while x <= 2:
nums.append(x)
x = eval(input('Enter a number: '))
main()
答案 0 :(得分:2)
只有三个数字?很久以前我问了similar question。列表对此并不是必需的,但如果您愿意,可以使用它。
def main():
a = input("Enter a number: ")
b = input("Enter a number: ")
c = input("Enter a number: ")
# We need to check which number is the median. With three numbers,
# it's pretty trivial: Whichever number is greater than one or less
# than the other.
if c <= b <= a or a <= b <= c:
return b
elif c <= a <= b or b <= a <= c:
return a
else: # Only one option left.
return c
答案 1 :(得分:0)
如果您只处理3个号码,则可以轻松找到中位数。
a = input("Enter a number: ")
b = input("Enter a number: ")
c = input("Enter a number: ")
x=[a,b,c]
x.remove(min(x))
median=min(x)
答案 2 :(得分:0)
这个怎么样:
def get_median(a, b, c):
if a > b:
if b > c:
return b
else:
if a < c:
return a
return c
else:
if b < c:
return b
else:
if a > c:
return a
return c
结果:
>>> get_median(1,2,3)
2
>>> get_median(3,2,1)
2
>>> get_median(3,3,1)
3
>>> get_median(3,1,1)
1
>>> get_median(4,6,7)
6
>>> get_median(7,6,4)
6
>>> get_median(7,6,7)
7
>>> get_median(2,2,2)
2
答案 3 :(得分:0)
只是为了好玩,使用IF语句:
from itertools import permutations
def median3(x):
for a, b, c in permutations(x):
if a <= b <= c:
return b