为什么我的函数/算法要打印两次输出



我尝试制作一个基本算法,但它有效,总和和平均值打印两次,小数字和最大数字有时打印两次或不打印。

revenues_list = []
answer = input("Do you have data to record? ")
while (answer != "no"):
try:
earnings = float(input("How much was earned? "))
except:
print("You need to give a number with digits.")
answer = input("Do you have more data to record? ")
revenues_list.append(earnings)
print(revenues_list)
#make a function that finds the maximun value of the list
def getMaximun(L):
myMaximun= L[0]
for element in revenues_list:
if(myMaximun > element):
myMaximun = element
print("Your largest element is: " + str(myMaximun))
#make a function that finds the minimun value of the list
def getMinimun(L):
myMinimun= L[0]
for element in revenues_list:
if(myMinimun < element):
myMinimun = element
print("Your smallest element is: " + str(myMinimun))
#make a function that finds the average of the list
def getAverage(L):
sum = 0
for element in revenues_list: 
sum = sum + element
average = sum/len(L)
print("Your sum revenue is: " + str(sum) + "n" + "Your average revenue is: " + str(average))
getMaximun(revenues_list)
getMinimun(revenues_list)
getAverage(revenues_list)

我将选择其中一个示例。正如@Damien的评论中所指出的,你必须将打印语句从for循环中移出,例如:

for element in revenues_list:
if(element > myMaximun):
myMaximun = element
print("Your largest element is: " + str(myMaximun))

旁注:对于提出这样的问题,最好做一个最小的工作示例。阅读此堆叠式页面。使用这种方法通常也有助于在实际需要StackOverflow之前调试/解决问题。

最新更新