当前位置: 首页 > 知识库问答 >
问题:

在python中寻找三个数字的中间值[重复]

仲孙飞文
2023-03-14

我试图打印三个数字的中间值,但当测试用例是数字2,1,2时,它没有给出任何结果,但当我尝试2,2,1时,它给出的正确答案是2,那么我该如何修复这段代码呢?

def median(a,b,c):
if a>b:
    if a>c:
        if b>c:
            return b
        else:
            return c
    elif c>a:
        if a>b:
            return a
        else:
            return b
elif b>a:
    if b>c:
        if a>c:
            return a
        else:
            return c
    elif c>b:
        if a>b:
            return a
        else:
            return b



elif a==c:
    return a

elif a==b:
    return a

elif b==c:
    return b

print(median(2,1,2))

共有1个答案

尉迟子民
2023-03-14

通过函数遵循这些值:

def median(2, 1, 2):
    if 2 > 1: # yes
        if 2 > 2: # no
            ...
        elif 2 > 2: # also no
            ...
        # no 'else' here, and
    ... # other 'elif' choices never run
    # fall out of function - implicit 'return None'

你根本不处理那个案子!

程序的分支结构难以阅读,并且(显然!)容易出错。更仔细地考虑你想要实现的目标 - 有一种更简单的方法。

 类似资料:
  • 问题内容: 我有一个带有varchar列的表,我想在此列中查找具有重复值的所有记录。我可以用来查找重复项的最佳查询是什么? 问题答案: 用子句做一个。假设 name 是您要在其中查找重复项的列: 这将返回在第一列中具有 名称 值的结果,并计算该值在第二列中出现的次数。

  • 问题内容: 我是MySQL的新手,我很难理解如何在多个数据库中进行查询。 在解释基础结构时,我目前正在一个作业中,我在一个具有数据库集合的公共测试数据库中。 我有一个标识符值,我想在我知道存在于特定表中的所有数据库中进行搜索。在本示例中,我将使用表名称“ table1”。问题在于,并非所有数据库都拥有我正在表中查找的标识符列。 我的问题涉及两个部分:-如何搜索所有数据库以返回包含此列(table1

  • 我必须用随机值填充三个数组(完成),从每个数组中找到最大值(完成),然后在指定的三个数组中找到最大值((我不知道怎么做,有人能帮我吗?))。 但是,主要的问题是代码重复,我试了几种方法来做,但是失败了,有人能帮我吗?

  • 问题内容: 我有一个已被标记的文本,或者一般来说,单词列表也是可以的。例如: 如果我有一个包含单个单词和多个单词键的Python字典,该如何有效且正确地检查其在文本中的存在?理想的输出应该是key:location_in_text对,或者是一些方便的东西。提前致谢! 附言:“正确”地解释-如果我的字典中有“租赁”,我不希望请打上标记。另外,需要识别复数。我想知道如果没有许多if-else子句,是否

  • 本文向大家介绍C#程序查找三个数字中的最大值,包括了C#程序查找三个数字中的最大值的使用技巧和注意事项,需要的朋友参考一下 首先,让我们设置三个数字- 现在检查第一个数字和第二个数字。如果num1> num2,则用num3检查num1。如果num1大于num3,则表示最大数量为num1。 示例 您可以尝试运行以下代码来查找三个数字的最大值。 输出结果

  • 本文向大家介绍在JavaScript中寻找数字数组中的缺失元素,包括了在JavaScript中寻找数字数组中的缺失元素的使用技巧和注意事项,需要的朋友参考一下 我们需要编写一个JavaScript函数,该函数接受一个长度为n的数字数组。该数组包含从0到n的所有整数(包括0和n),但是仅缺少一个整数,它可以是任何数字,并且不对数组进行排序。我们函数的任务是找到丢失的数字,并在线性时间和恒定空间中将其