此功能用于查找最大数量。我还需要比较数字,如果输入数字相同,则显示数字相同。由于我已经a=2
,b=8
,c=8
三个数字,最多为8
,该计划还应显示b
和c
是相同。
def biggest(a,b,c):
if a>b and a>c :
print("Biggest Number=",a)
elif b>a and b>c:
print("Biggest Number=",b)
elif a==b:
print("a=b")
elif a==c:
print("a=c")
elif b==c:
print("b=c")
else:
print("Biggest Number=",c)
biggest(2,8,8)
答案 0 :(得分:4)
可以使用 args 来完成。 Args允许我们将可变数量的参数传递给函数。 例如
print( max( *[ 1, 10, 3] ) )
有用的链接: -
1. http://thepythonguru.com/python-args-and-kwargs/
答案 1 :(得分:1)
如果您想坚持代码的工作方式以及您如何描述它,只需更改所有" elif"对新ifs的陈述。这使得您可以检查所有条件,而不是在它找到可以解决的条件后立即中止。
def biggest(a,b,c):
if a>b and a>c :
print("Biggest Number=",a)
if b>a and b>c:
print("Biggest Number=",b)
if a==b:
print("a=b")
if a==c:
print("a=c")
if b==c:
print("b=c")
if a<b and a<c:
print("Biggest Number=",c)
biggest(8,1,1)
这可能会更干净,更好,但这是你学习的工作。快乐的编码
答案 2 :(得分:1)
使用大量if
/ elif
/ else
会导致难以阅读和维护您的代码。我建议你一个更好的解决方案,通过评论,你可以理解它:
def biggest(a, b, c):
# Define a dictionary d with strings 'a','b','c' as keys to associate with values
d = {'a': a, 'b': b, 'c': c}
# Find the maximum value
maxValue = max(d.values())
# Gather all keys corresponding to max value into list
maxLetters = [k for k,v in d.items() if v == maxValue]
# Format and print the result
print("Biggest number is ", maxValue, " (", "=".join(maxLetters), ")", sep="")
biggest(1,2,3) # Biggest number is 3 (c)
biggest(1,2,2) # Biggest number is 2 (b=c)
biggest(2,2,2) # Biggest number is 2 (a=b=c)
答案 3 :(得分:0)
def biggest(a,b,c):
if a>b and a>c :
print("Biggest Number=",a)
elif b>a and b>c:
print("Biggest Number=",b)
else:
print("Biggest Number=",c)
if a==b:
print("a=b")
if a==c:
print("a=c")
if b==c:
print("b=c")
if a==b==c:
print("a=b=c")
biggest(2,5,8)
biggest(2,8,8)
biggest(8,8,8)
适用于比较,最大和相等的数字。
答案 4 :(得分:0)
如果我错了,请更正我,但似乎-即使没有明确说明-该问题的重点是编写一个函数,以便使用 查找三个数字中的最大数字。 max()内置函数。 可以通过以下方式完成:
def biggest(x,y,z):
if x>=y and x>=z:
print(x)
elif y>x and y>z:
print(y)
else:
print(z)
快乐编码:)