从用户那里获取浮点输入,直到输入负数,然后计算总和、平均值、最大值和最小值,不包括负数
Get floating point inputs from user until negative number is entered, then compute sum, average, max, and min, without including negative number
抱歉,第一次发布者,初学者 python 用户。
问题如下:
编写一个 Python 程序,允许用户输入任意数量的非负浮点值。用户以任何负值终止输入列表。然后程序打印输入值的总和、平均值(算术平均值)、最大值和最小值。计算中不使用终止负值。
我几乎掌握了大部分内容,尝试了几种不同的方法,但似乎无法正确计算平均值和总和。 (不能取负数终止,否则也使平均值为负数,或与求和值相同)
我正在考虑重新开始并使用 def 函数调用。 ??
我也开始尝试使用 try-except 语句,但也失败了。
如有任何正确方向的建议,我们将不胜感激!
首先...
num = []
tot = 0
big = None
small = None
while True:
numbers = float(input('Enter a positive number, negative to stop: '))
tot += numbers
if big is None or numbers > big:
big = numbers
if small is None or numbers < small:
small = numbers
if numbers < 0:
break
avg = tot / numbers
print('Sum is:', tot)
print('Average is:',avg)
print('Maximum is:',big)
print('Minimum is:',small)
如果我改变一些东西,我得到的平均值是正的而不是负的,但仍然是与最小值相同的值,只是一些片段...
tot = 0
big = None
small = None
count = 0
while True:
length = count + 1
#etc, etc...then trying to do...
avg = tot/length
#or...
avg =str(tot/length)
但还是卡住了。
num = []
tot = 0
small = None
avg = None
big = None
while True:
numbers = float(input('Enter a positive number, negative to stop: '))
if numbers < 0:
break
tot +=numbers
num.append(numbers)
if small== None and big == None and avg == None:
small=numbers; big=numbers; avg = numbers
else:
small = min(small, numbers)
small = max(big, numbers)
if len(num) > 0:
avg = tot / len( num)
print('Sum is:', tot)
print('Average is:',avg)
print('Maximum is:',big)
print('Minimum is:',small)
num = []
tot = 0
small = None
avg = None
big = None
while True:
numbers = float(input('Enter a positive number, negative to stop: '))
if numbers < 0:
break
tot +=numbers
num.append(numbers)
if len(num) > 0:
avg = tot / len( num)
big = max(num)
small = min(num)
print('Sum is:', tot)
print('Average is:',avg)
print('Maximum is:',big)
print('Minimum is:',small)
抱歉,第一次发布者,初学者 python 用户。
问题如下: 编写一个 Python 程序,允许用户输入任意数量的非负浮点值。用户以任何负值终止输入列表。然后程序打印输入值的总和、平均值(算术平均值)、最大值和最小值。计算中不使用终止负值。
我几乎掌握了大部分内容,尝试了几种不同的方法,但似乎无法正确计算平均值和总和。 (不能取负数终止,否则也使平均值为负数,或与求和值相同)
我正在考虑重新开始并使用 def 函数调用。 ?? 我也开始尝试使用 try-except 语句,但也失败了。
如有任何正确方向的建议,我们将不胜感激!
首先...
num = []
tot = 0
big = None
small = None
while True:
numbers = float(input('Enter a positive number, negative to stop: '))
tot += numbers
if big is None or numbers > big:
big = numbers
if small is None or numbers < small:
small = numbers
if numbers < 0:
break
avg = tot / numbers
print('Sum is:', tot)
print('Average is:',avg)
print('Maximum is:',big)
print('Minimum is:',small)
如果我改变一些东西,我得到的平均值是正的而不是负的,但仍然是与最小值相同的值,只是一些片段...
tot = 0
big = None
small = None
count = 0
while True:
length = count + 1
#etc, etc...then trying to do...
avg = tot/length
#or...
avg =str(tot/length)
但还是卡住了。
num = []
tot = 0
small = None
avg = None
big = None
while True:
numbers = float(input('Enter a positive number, negative to stop: '))
if numbers < 0:
break
tot +=numbers
num.append(numbers)
if small== None and big == None and avg == None:
small=numbers; big=numbers; avg = numbers
else:
small = min(small, numbers)
small = max(big, numbers)
if len(num) > 0:
avg = tot / len( num)
print('Sum is:', tot)
print('Average is:',avg)
print('Maximum is:',big)
print('Minimum is:',small)
num = []
tot = 0
small = None
avg = None
big = None
while True:
numbers = float(input('Enter a positive number, negative to stop: '))
if numbers < 0:
break
tot +=numbers
num.append(numbers)
if len(num) > 0:
avg = tot / len( num)
big = max(num)
small = min(num)
print('Sum is:', tot)
print('Average is:',avg)
print('Maximum is:',big)
print('Minimum is:',small)