我正在尝试从函数中获取一组3个整数,然后将它传递给另一个函数,然后将它们返回到main函数,说明3个整数中哪个是最大的,我的问题是我不断得到它打印所有3个整数。下面的代码是我所拥有的,我很确定错误是在> def max3函数中....我知道def主函数中的print语句也是不正确的
def main():
x = int(input("Give me a number: "))
y = int(input("Another: "))
z = int(input("Another: "))
print (x)
print (y)
print (z)
def max3(x,y,z):
number1 = x
number2 = y
number3 = z
if x > y < z:
return (x)
if y > x < z:
return (y)
if z > y < x:
return (z)
main()
答案 0 :(得分:0)
从main调用max3!此外,您找到最大数字的逻辑是错误的。你可以找到我的解决方案。您也可以尝试list.append()并使用max()查找该列表中的最大数字。
def main():
x = int(input("Give me a number: "))
y = int(input("Another: "))
z = int(input("Another: "))
print (x)
print (y)
print (z)
print (max3(x,y,z))
def max3(x,y,z):
largest = z
if (x > y and x > z):
largest = x
elif(y > z):
largest = y
return largest
main()
答案 1 :(得分:0)
def main():
x = int(input("Give me a number: "))
y = int(input("Another: "))
z = int(input("Another: "))
print("The max is " + str(max3(x, y, z)))
def max3(x, y, z = None):
if (z == None):
if (x > y):
return x
else:
return y
else:
maxNum = max3(x, y)
if (maxNum > z):
return maxNum
else:
return z
或者,使用内置的max()
函数:
def main():
x = int(input("Give me a number: "))
y = int(input("Another: "))
z = int(input("Another: "))
print("The max is " + str(max(x, y, z)))
答案 2 :(得分:0)
如何使用python的内置max()
函数:
def main():
x = int(input("Give me a number: "))
y = int(input("Another: "))
z = int(input("Another: "))
print(max(x,y,z))
OR
def main():
numbers = []
for prompt in "Give me a number: ", "Another: ", "Another: ":
numbers.append(int(input(prompt)))
print(max(numbers))
OR
prompts = "Give me a number: ", "Another: ", "Another: "
print(max(int(input(prompt)) for prompt in prompts))
答案 3 :(得分:0)
在您编写的代码中,函数max3
永远不会被使用。也许你想从main
调用这个函数?
def main():
...
max3(x,y,z)
...
表示您要执行的输入和任何打印。
我认为你也应该在python提示符下尝试一些数字。例如:
x=4.5
y=4
z=5
x>y<z
结果如何?这是你所期望的吗?您可以将两个条件与and
配对:
x=0.2
x<1 and x>0
例如。
答案 4 :(得分:0)
在main函数中,您将获得x,y,z变量并打印所有变量。不要求max3函数返回最大值。这就是它打印所有这些的原因。
def main():
x = int(input("Give me a number: "))
y = int(input("Another: "))
z = int(input("Another: "))
print (x)
print (y)
print (z)
在max3函数中,你应该返回最大值,但它不会返回最大值。此函数也不保证返回某个值。
def max3(x,y,z):
number1 = x
number2 = y
number3 = z
if x > y < z: # this line should check if x is maximum, so condition is like: y < x > z
return (x)
if y > x < z: # this too
return (y)
if z > y < x: # this too
return (z)
main()
更正版本:
def main():
x = int(input("Give me a number: "))
y = int(input("Another: "))
z = int(input("Another: "))
print max3(x,y,z)
def max3(x,y,z):
number1 = x
number2 = y
number3 = z
if y <= x >= z:
return (x)
if x <= y >= z:
return (y)
if x <= z >= y:
return (z)
main()