Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么在第一个条件为true时if语句继续_Python_Python 3.x_Function_If Statement_Return - Fatal编程技术网

Python 为什么在第一个条件为true时if语句继续

Python 为什么在第一个条件为true时if语句继续,python,python-3.x,function,if-statement,return,Python,Python 3.x,Function,If Statement,Return,我有一个程序,用户将给出3个输入。比较输入,程序将返回最大的数字。当用户输入的第三个数字大于第二个数字,但第一个数字是最大的数字时,会给出第三个数字是最大的结果。但它应该给出第一个数字是最大的结果 def max_num(x,y,z): x = input("num_1") y = input("num_2") z = input("num_3") if x > y and x >

我有一个程序,用户将给出3个输入。比较输入,程序将返回最大的数字。当用户输入的第三个数字大于第二个数字,但第一个数字是最大的数字时,会给出第三个数字是最大的结果。但它应该给出第一个数字是最大的结果

def max_num(x,y,z):
    x = input("num_1")
    y = input("num_2")
    z = input("num_3")
    
    if x > y and x > z:
        return(x + "is the biggest number")
    elif y > x and y > z:
        return(y + " is the biggest number")
    else:
        return(z + " is the biggest number")
        
        
print(max_num("num_1", "num_2", "num_3"))   

您需要将
str
类型的对象转换为
int

    x = int(input("num_1"))
    y = int(input("num_2"))
    z = int(input("num_3"))
您甚至可以取消使用
关键字,只需对变量使用多个运算符。最后,您不需要
elif
else
语句;
return
调用已经确保只能执行三行中的一行:

def max_num(x,y,z):
    x = int(input(x))
    y = int(input(y))
    z = int(input(z))
    
    if z < x > y:
        return f"{x} is the biggest number"
    if z < y > x:
        return f"{y} is the biggest number"
    return f"{z} is the biggest number"
            
print(max_num("num_1", "num_2", "num_3")) 
def max_num(x,y,z):
x=int(输入(x))
y=int(输入(y))
z=int(输入(z))
如果zy:
返回f“{x}是最大的数字”
如果zx:
返回f“{y}是最大的数字”
返回f“{z}是最大的数字”
打印(最大数量(“数量1”、“数量2”、“数量3”))

注意f字符串。如果将
x
y
z
转换为整数,则无法再使用
+
运算符将它们与字符串连接,除非使用
str()
包装器。

您需要将
str
类型的对象转换为
int

    x = int(input("num_1"))
    y = int(input("num_2"))
    z = int(input("num_3"))
您甚至可以取消使用
关键字,只需对变量使用多个运算符。最后,您不需要
elif
else
语句;
return
调用已经确保只能执行三行中的一行:

def max_num(x,y,z):
    x = int(input(x))
    y = int(input(y))
    z = int(input(z))
    
    if z < x > y:
        return f"{x} is the biggest number"
    if z < y > x:
        return f"{y} is the biggest number"
    return f"{z} is the biggest number"
            
print(max_num("num_1", "num_2", "num_3")) 
def max_num(x,y,z):
x=int(输入(x))
y=int(输入(y))
z=int(输入(z))
如果zy:
返回f“{x}是最大的数字”
如果zx:
返回f“{y}是最大的数字”
返回f“{z}是最大的数字”
打印(最大数量(“数量1”、“数量2”、“数量3”))

注意f字符串。如果将
x
y
z
转换为整数,您将无法再使用
+
运算符将它们与字符串连接起来,除非您使用
str()
包装器。

Python具有内置的
max
函数 你可以像这样重写你的函数

def max_num(x,y,z):
    x = int(input(x))
    y = int(input(y))
    z = int(input(z))
    return f"{max(x, y, z)} is the biggest number"

Python有一个内置的
max
函数 你可以像这样重写你的函数

def max_num(x,y,z):
    x = int(input(x))
    y = int(input(y))
    z = int(input(z))
    return f"{max(x, y, z)} is the biggest number"
input
读取字符串–字符串
“9”
确实比字符串
“678”
大,因为它的第一个字符更大。
int(input(“Num 1”)
。这就行了。对其他输入重复此操作
input
读取字符串–字符串
“9”
确实比字符串
“678”
大,因为它的第一个字符更大。
int(input(“Num 1”)
。这就行了。对其他输入重复此步骤