[英]Figuring out Sum, Product, and Average from User Inputs
我正在做一些作業,這要求我執行以下操作:
編寫一個程序,接收來自用戶的一系列數字,並允許用戶按下回車鍵以表明他或她已完成輸入。 用戶按下回車鍵后,程序應該打印數字的總和、數字的乘積和數字的平均值。
使用以下輸入運行您的程序:
1, 2, 3, 4, 5, 6, 7, 8
2, 24, 11, 1, 4, 10
不輸入數字
這是我到目前為止所擁有的,但我的數字沒有正確顯示。 有人可以告訴我我做錯了什么。 我是初學者,所以,如果你能用最簡單的術語說話,那就太好了。
從用戶獲取數字直到用戶按下“Enter” 計算輸入數字的總和、乘積和平均值顯示結果
#main program start
def main():
#initialize variables
count = 0
sum = 0.0
product = 1.0
data = input("Enter a number or press Enter to quit: ")
while True:
#request input from user
data = input("Enter a number or press Enter to quit: ")
#set up the termination condition
if data == "":
break
#convert inputs into floats
number = float(data)
#calculate sum, product, and average
sum += number
product *= number
average = sum / number
#display results
print("The sum is", sum)
print("The product is", product)
print("The average is", average)
#main program end
main()
不知道你的意思是這些值是錯誤的。 除了平均水平,似乎沒有什么不正常的。
如果您想要平均值,則需要一個列表來收集值。 嘗試手動編寫您的算法,您就會明白我的意思。
data = input("Enter a number or press Enter to quit: ")
numbers = []
while True:
#request input from user
data = input("Enter a number or press Enter to quit: ")
#set up the termination condition
if data == "":
break
#convert inputs into floats
numbers.append(float(data))
# these can all be done outside and after the while loop
count = len(numbers)
if count > 0:
_sum = sum(numbers)
product = 1.0
for n in numbers:
product *= n
average = _sum / float(count)
#display results
print("The sum is", _sum)
print("The product is", product)
print("The average is", average)
else:
print("Nothing was entered")
由於您一次輸入一個數字,因此您沒有所有數字。 最好讓用戶輸入這樣的列表:
def main():
average = 0
sum_nums = 0
product = 1
nums = []
while True:
data = input("Enter a number or press Enter to quit: ")
if data == ""
sum_nums = sum(nums)
for num in nums:
num *= product
average = sum_nums/len(nums)
print("The sum is {},".format(sum_nums))
print("The product is {}.".format(product))
print("The average is {}.".format(average))
else:
nums.append(data)
continue
它的工作原理是將所有輸入輸入到一個列表中。 退出輸入的唯一方法是使用 enter 所以如果輸入什么都沒有,那么它只能是 Enter 鍵。 一旦按下回車鍵,我就得到了所有的值並打印出來。
numbers = []
print("enter key to stop")
while(True):
num = input("enter a number :")
if num:
numbers.append(int(num))
elif(num == ''):
break
sum_num =0
for num in numbers:
sum_num += num
avg = sum_num / len(numbers)
print(sum_num)
print(avg)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.