为什么我的程序不能正确打印?
Why is my program not printing correctly?
解释如下:
def displaySortedNumbers(num1, num2, num3):
smallest = num1
if num2 < smallest:
smallest = num2
if num3 < smallest:
smallest = num3
return smallest
def main():
num1, num2, num3 = eval(input("Enter three numbers seperated by commas:"))
print("The numbers are,",displaySortedNumbers(num1, num2, num3))
main()
输入三个数字后,最小的数字打印出来,其余的数字没有。我需要从最小到最大打印出的数字。我不确定我做错了什么。
在您的 return 语句中只有“最小”,没有其他变量。
您可以将值存储在一个列表中,对其进行排序,然后 return 该列表,就像这样
def displaySortedNumbers(num1, num2, num3):
list = [num1, num2, num3]
list.sort()
return list
尝试这样重写:
if smallest > num2:
smallest = num2
elif smallest > num3:
smallest = num3
您的函数仅返回所提供的三个数字中最小的一个,如果适合您,您可以考虑使用列表并对其进行排序。
def displaySortedNumbers(num1, num2, num3):
s = ""
for c in sorted([num1, num2, num3]):
s += " " + str(c)
return s
sorted()
函数接受一个可迭代的参数,returns它按一个键排序,但是在这种情况下,如果你只是按递增顺序排序,你不需要输入一个关键。
在您的 return 陈述中,您只是 return 三个数字之一,即您认为最小的那个。但是您的函数应该 return 对所有三个数字进行排序。我猜你不能使用内置的 sorted()
函数,所以你需要手动编程排序。您可以通过将函数更改为以下内容来对 3 个数字进行简单的冒泡排序:
def displaySortedNumbers(num1, num2, num3):
if num2 < num1:
num1, num2 = num2, num1
if num3 < num2:
num2, num3 = num3, num2
if num2 < num1:
num1, num2 = num2, num1
return num1, num2, num3
这将打印所有三个数字,并正确排序。
如果你可以使用内置函数,你可以简单地说:
def displaySortedNumbers(num1, num2, num3):
return sorted((num1, num2, num3))
解释如下:
def displaySortedNumbers(num1, num2, num3):
smallest = num1
if num2 < smallest:
smallest = num2
if num3 < smallest:
smallest = num3
return smallest
def main():
num1, num2, num3 = eval(input("Enter three numbers seperated by commas:"))
print("The numbers are,",displaySortedNumbers(num1, num2, num3))
main()
输入三个数字后,最小的数字打印出来,其余的数字没有。我需要从最小到最大打印出的数字。我不确定我做错了什么。
在您的 return 语句中只有“最小”,没有其他变量。
您可以将值存储在一个列表中,对其进行排序,然后 return 该列表,就像这样
def displaySortedNumbers(num1, num2, num3):
list = [num1, num2, num3]
list.sort()
return list
尝试这样重写:
if smallest > num2:
smallest = num2
elif smallest > num3:
smallest = num3
您的函数仅返回所提供的三个数字中最小的一个,如果适合您,您可以考虑使用列表并对其进行排序。
def displaySortedNumbers(num1, num2, num3):
s = ""
for c in sorted([num1, num2, num3]):
s += " " + str(c)
return s
sorted()
函数接受一个可迭代的参数,returns它按一个键排序,但是在这种情况下,如果你只是按递增顺序排序,你不需要输入一个关键。
在您的 return 陈述中,您只是 return 三个数字之一,即您认为最小的那个。但是您的函数应该 return 对所有三个数字进行排序。我猜你不能使用内置的 sorted()
函数,所以你需要手动编程排序。您可以通过将函数更改为以下内容来对 3 个数字进行简单的冒泡排序:
def displaySortedNumbers(num1, num2, num3):
if num2 < num1:
num1, num2 = num2, num1
if num3 < num2:
num2, num3 = num3, num2
if num2 < num1:
num1, num2 = num2, num1
return num1, num2, num3
这将打印所有三个数字,并正确排序。
如果你可以使用内置函数,你可以简单地说:
def displaySortedNumbers(num1, num2, num3):
return sorted((num1, num2, num3))