我正在尝试制作一个程序,为您提供输入的平均,总数和最大数字。我被困在最大的数字部分。我的号码不在列表中,所以我不知道如何找到最大的号码。
num=0
total=0
average=0
count=0
while True:
num=input("enter a number:")
num=int(num)
if num==-999:
break
total=total + num
count=count+1
biggest = max(total)
average=total/count
#print the results
print("the total is:", total)
print("the biggest number is:", biggest)
print("the average is:", average)
我想在最后打印最大的数字。
谢谢
让我与您分享您的问题的解决方案。 (在检查数字为“-999”后,查看if子句)。如果您有任何疑问,请随时询问!希望它能帮到你
num=0
total=0
average=0
count=0
biggest=0
while True:
num=input("enter a number:")
num=int(num)
if num==-999:
break
if num > biggest:
biggest = num
total=total + num
count=count+1
average=total/count
#print the results
print("the total is:", total)
print("the biggest number is:", biggest)
print("the average is:", average)
num=0
total=0
average=0
count=0
biggest=0
while True:
num=input("enter a number:")
num=int(num)
if num==-999:
break
total=total + num
count=count+1
if num > biggest:
biggest = num
average=total/count
#print the results
print("the total is:", total)
print("the biggest number is:", biggest)
print("the average is:", average)
你可以这样:
if num > biggest:
biggest = num
使用不能大于任何输入的值初始化最大值:
import numpy
biggest = -np.inf
更换
biggest = max(total)
通过
biggest = max(biggest, num)
在这里,你的代码是正确的
num=0
total=0
average=0
count=0
biggest = None ### added
while True:
num=input("enter a number:")
num=int(num)
if num==-999:
break
total=total + num
count=count+1
#biggest = max(total) Here where was you wrong
if num > biggest : #### added
biggest = num #### added
average=total/count
#print the results
print("the total is:", total)
print("the biggest number is:", biggest)
print("the average is:", average)
如果你研究一些其他的方法,你可以获得更多的功能,并使用你的程序做更多的事情,看看这些代码,并尝试采取一些想法,它可以使你的任务和未来的任务更容易
numbers = []
print("Enter any non-number to perform calculations.\n")
while True:
try:
num = int(input("Enter a number: "))
numbers.append(num)
except ValueError:
break
total = sum(numbers)
average = total/len(numbers)
biggest = max(numbers)
print(f"\nThe total is: {total}")
print(f"The biggest number is: {biggest}")
print(f"The average is: {average}")
(xenial)vash@localhost:~/python$ python3.7 biggest.py Enter any non-number to perform calculations. Enter a number: 1 Enter a number: 2 Enter a number: 3 Enter a number: 4 Enter a number: -1 Enter a number: 2 Enter a number: 3 Enter a number: q The total is: 14 The biggest number is: 4 The average is: 2.0
在循环之前初始化变量biggest
:
biggest = -9999
这应该被初始化为小于程序将要遇到的任何数字的东西。以上假设-9999是一个这样的数字,一般来说是一个不好的假设;有更好的方法来实现这一目标,例如其中一条评论表明
import sys
biggest = -sys.maxint
这是此实现可以表示的最大整数值的负数。
然后在循环体中,更新变量biggest
:
biggest = max(biggest, num)
如果num
大于biggest
那么max(biggest, num)
将返回num
的值,以便biggest
将获得num
的值。如果它更小,biggest
将保持不变。换句话说,biggest
记得到目前为止看到的最大价值。在循环结束时,它将保持所见的最大值,周期。