3

我正在为我的 Python 入门编程课做家庭作业,但我遇到了一个问题。指示是:

修改 find_sum() 函数,使其打印输入值的平均值。与之前的 average() 函数不同,我们不能使用 len() 函数来求序列的长度;相反,您必须引入另一个变量来“计算”输入的值。

我不确定如何计算输入的数量,如果有人能给我一个好的起点,那就太好了!

# Finds the total of a sequence of numbers entered by user 
def find_sum(): 
     total = 0 
     entry = raw_input("Enter a value, or q to quit: ") 
     while entry != "q": 
         total += int(entry) 
         entry = raw_input("Enter a value, or q to quit: ") 
     print "The total is", total 
4

2 回答 2

3

每次读取输入total += int(entry)时,您应该立即增加一个变量。

num += 1在其他地方将其初始化为 0 之后,所需要的就是这些了。

while确保循环中所有语句的缩进级别相同。您的帖子(如最初所写)没有反映任何缩进。

于 2013-03-06T03:30:02.960 回答
0

正如@BlackVegetable 所说,您始终可以使用迭代计数器:

# Finds the total of a sequence of numbers entered by user 
def find_sum(): 
     total, iterationCount = 0, 0 # multiple assignment
     entry = raw_input("Enter a value, or q to quit: ") 
     while entry != "q": 
         iterationCount += 1
         total += int(entry) 
         entry = raw_input("Enter a value, or q to quit: ") 
     print "The total is", total 
     print "Total numbers:", iterationCount

或者,您可以将每个数字添加到列表中,然后打印总和和长度:

# Finds the total of a sequence of numbers entered by user
def find_sum(): 
     total = []
     entry = raw_input("Enter a value, or q to quit: ") 
     while entry != "q": 
         iterationCount += 1
         total.append(int(entry))
         entry = raw_input("Enter a value, or q to quit: ") 
     print "The total is", sum(total)
     print "Total numbers:", len(total)
于 2013-03-06T03:34:40.023 回答