Python 使用if语句打印函数

Python 使用if语句打印函数,python,if-statement,Python,If Statement,我已经创建了一个if语句函数。用这种方式,我应该打印最大数量的输入(请检查我的代码)。但是,由于代码本身不应该有任何错误,我仍然无法打印出最大的_数字。你能帮我一下吗 我尝试过在函数外部编写print()语句,然后在函数内部,在每个if行中也输入print(最大的_数),但仍然没有任何更改 Number_1 = int(input("Please type your 1st number: ")) Number_2 = int(input("Please type your 2nd number

我已经创建了一个if语句函数。用这种方式,我应该打印最大数量的输入(请检查我的代码)。但是,由于代码本身不应该有任何错误,我仍然无法打印出最大的_数字。你能帮我一下吗

我尝试过在函数外部编写print()语句,然后在函数内部,在每个if行中也输入print(最大的_数),但仍然没有任何更改

Number_1 = int(input("Please type your 1st number: "))
Number_2 = int(input("Please type your 2nd number: "))
Number_3 = int(input("Please type your 3rd number: "))
Number_4 = int(input("Please type your 4th number: "))
Number_5 = int(input("Please type your 5th number: "))
Number_6 = int(input("Please type your 6th number: "))

def largest(Number_1, Number_2, Number_3, Number_4, Number_5, Number_6):
    if (Number_1 >= Number_2) and (Number_1 >= Number_3) and (Number_1 >= Number_4) and (Number_1 >= Number_5) and (Number_1 >= Number_6):
        largest_Number == Number_1;
    else:
        if (Number_2 >= Number_1) and (Number_2 >= Number_3) and (Number_2 >= Number_4) and (Number_2 >= Number_5) and (Number_2 >= Number_6):
            largest_Number == Number_2
        else:
            if (Number_3 >= Number_1) and (Number_3 >= Number_2) and (Number_3 >= Number_4) and (Number_3 >= Number_5) and (Number_3 >= Number_6):
                largest_Number == Number_3
            else:
                if (Number_4 >= Number_1) and (Number_4 >= Number_2) and (Number_4 >= Number_3) and (Number_4 >= Number_5) and (Number_4 >= Number_6):
                    largest_Number == Number_4
                else:
                    if (Number_5 >= Number_1) and (Number_5 >= Number_2) and (Number_5 >= Number_3) and (Number_5 >= Number_4) and (Number_5 >= Number_6):
                        largest_Number == Number_5
                    else:
                        if (Number_6 >= Number_1) and (Number_6 >= Number_2) and (Number_6 >= Number_3) and (Number_6 >= Number_4) and (Number_6 >= Number_5):
                            largest_Number == Number_6
                            print(largest_Number)
有几个错误:

  • 您的代码具有
    最大\u编号==编号\u 6
    (等),但
    =
    检查是否相等。您需要
    maximust\u Number=Number\u 6(等)

  • 最后一个
    print()
    嵌套在最后一个
    if
    语句中。你想把它带到最外层

  • 此外,使用
    max()
    函数可以大大简化代码,但由于您将其称为“if语句函数”,我认为这是故意的。如果没有,您可以执行以下操作:

    Number_1 = int(input("Please type your 1st number: "))
    Number_2 = int(input("Please type your 2nd number: "))
    Number_3 = int(input("Please type your 3rd number: "))
    Number_4 = int(input("Please type your 4th number: "))
    Number_5 = int(input("Please type your 5th number: "))
    Number_6 = int(input("Please type your 6th number: "))
    
    def largest(Number_1, Number_2, Number_3, Number_4, Number_5, Number_6):
        largest_number = max([Number_1, Number_2, Number_3, Number_4, Number_5, Number_6])
        print(largest_number)
    
    largest(Number_1, Number_2, Number_3, Number_4, Number_5, Number_6)
    

    应将==替换为=(赋值运算符)


    在这里,下面的_laregest==变量是从给定的输入数字中获取最大数字的更简洁的代码(将数字存储在列表中,如下所示):

    输入

    输出

    Please type your numbers1 2 3 4 5 6
    
    [1, 2, 3, 4, 5, 6]
    
    要获取最大数量,请执行以下操作:

    max(a)
    
    输出:

    6
    

    欢迎使用StackOverflow&希望这对您有所帮助

    def largest(Number_1, Number_2, Number_3, Number_4, Number_5, Number_6):
        if (Number_1 >= Number_2) and (Number_1 >= Number_3) and (Number_1 >= Number_4) and (Number_1 >= Number_5) and (Number_1 >= Number_6):
            largest_Number = Number_1;
        else:
            if (Number_2 >= Number_1) and (Number_2 >= Number_3) and (Number_2 >= Number_4) and (Number_2 >= Number_5) and (Number_2 >= Number_6):
                largest_Number = Number_2
            else:
                if (Number_3 >= Number_1) and (Number_3 >= Number_2) and (Number_3 >= Number_4) and (Number_3 >= Number_5) and (Number_3 >= Number_6):
                    largest_Number = Number_3
                else:
                    if (Number_4 >= Number_1) and (Number_4 >= Number_2) and (Number_4 >= Number_3) and (Number_4 >= Number_5) and (Number_4 >= Number_6):
                        largest_Number = Number_4
                    else:
                        if (Number_5 >= Number_1) and (Number_5 >= Number_2) and (Number_5 >= Number_3) and (Number_5 >= Number_4) and (Number_5 >= Number_6):
                            largest_Number = Number_5
                        else:
                            if (Number_6 >= Number_1) and (Number_6 >= Number_2) and (Number_6 >= Number_3) and (Number_6 >= Number_4) and (Number_6 >= Number_5):
                                largest_Number = Number_6
        print(largest_Number)
    
    提示很少,您可以在代码中使用
    if…elif..else

    def largest(Number_1, Number_2, Number_3, Number_4, Number_5, Number_6):
        if (Number_1 >= Number_2) and (Number_1 >= Number_3) and (Number_1 >= Number_4) and (Number_1 >= Number_5) and (Number_1 >= Number_6):
            largest_Number = Number_1;
        elif (Number_2 >= Number_1) and (Number_2 >= Number_3) and (Number_2 >= Number_4) and (Number_2 >= Number_5) and (Number_2 >= Number_6):
            largest_Number = Number_2
        elif (Number_3 >= Number_1) and (Number_3 >= Number_2) and (Number_3 >= Number_4) and (Number_3 >= Number_5) and (Number_3 >= Number_6):
            largest_Number = Number_3
        elif (Number_4 >= Number_1) and (Number_4 >= Number_2) and (Number_4 >= Number_3) and (Number_4 >= Number_5) and (Number_4 >= Number_6):
            largest_Number = Number_4
        elif (Number_5 >= Number_1) and (Number_5 >= Number_2) and (Number_5 >= Number_3) and (Number_5 >= Number_4) and (Number_5 >= Number_6):
            largest_Number = Number_5
        elif (Number_6 >= Number_1) and (Number_6 >= Number_2) and (Number_6 >= Number_3) and (Number_6 >= Number_4) and (Number_6 >= Number_5):
            largest_Number = Number_6
        print(largest_Number)
    

    一个小问题是你的
    print(maximust_Number)
    应该在
    if
    条件之外。

    所有该函数都可以替换为
    def-maximust(*args):print(maximum(args))
    maximust(Number_1,Number_2,…,Number_6)@roganjosh你是对的,但OP称之为“if语句函数”,所以这可能是一个有意使用if语句的练习。只是一个提示,在这种情况下,我会以相反的方式使用条件检查,以避免不必要的嵌套。i、 e.首先检查
    False
    条件,如果是,则返回。然后,您可以在初始if的相同级别编写
    True
    大小写,而无需使用
    else
    子句。问题是它仍然不想打印答案(你调用函数了吗?比如我该怎么做?
    最大值(Number_1、Number_2、Number_3、Number_4、Number_5、Number_6)
    你知道定义函数和调用函数之间的区别吗?我需要像我已经做的那样对输入进行编码,并从中继续,仍然感谢您提供了最好的解决方案。但是我遇到了一个关于max()的问题因为它在我的情况下不起作用(不打印最大值)…在您的情况下,数字是离散的,
    max
    函数在列表上工作。如果问题解决,请传递一个值列表并调用
    max
    函数。请向上投票并接受答案
    def largest(Number_1, Number_2, Number_3, Number_4, Number_5, Number_6):
        if (Number_1 >= Number_2) and (Number_1 >= Number_3) and (Number_1 >= Number_4) and (Number_1 >= Number_5) and (Number_1 >= Number_6):
            largest_Number = Number_1;
        elif (Number_2 >= Number_1) and (Number_2 >= Number_3) and (Number_2 >= Number_4) and (Number_2 >= Number_5) and (Number_2 >= Number_6):
            largest_Number = Number_2
        elif (Number_3 >= Number_1) and (Number_3 >= Number_2) and (Number_3 >= Number_4) and (Number_3 >= Number_5) and (Number_3 >= Number_6):
            largest_Number = Number_3
        elif (Number_4 >= Number_1) and (Number_4 >= Number_2) and (Number_4 >= Number_3) and (Number_4 >= Number_5) and (Number_4 >= Number_6):
            largest_Number = Number_4
        elif (Number_5 >= Number_1) and (Number_5 >= Number_2) and (Number_5 >= Number_3) and (Number_5 >= Number_4) and (Number_5 >= Number_6):
            largest_Number = Number_5
        elif (Number_6 >= Number_1) and (Number_6 >= Number_2) and (Number_6 >= Number_3) and (Number_6 >= Number_4) and (Number_6 >= Number_5):
            largest_Number = Number_6
        print(largest_Number)