我对 python 很陌生,正在努力为类(class)创建一个程序。我们应该记录一周内每天的降雪量,并将输入四舍五入到小数点后一位,我在下面做了:
def main():
print "~*~*~*~*~*~ SNOWFALL LOG ~*~*~*~*~*~"
snowFall = float (raw_input("Enter Snowfall for Day 1: "))
print "Snowfall for Day 1: ", ("%.1f" % snowFall)
snowFall = float (raw_input("Enter Snowfall for Day 2: "))
print "Snowfall for Day 2: ", ("%.1f" % snowFall)
snowFall = float (raw_input("Enter Snowfall for Day 3: "))
print "Snowfall for Day 3: ", ("%.1f" % snowFall)
snowFall = float (raw_input("Enter Snowfall for Day 4: "))
print "Snowfall for Day 4: ", ("%.1f" % snowFall)
snowFall = float (raw_input("Enter Snowfall for Day 5: "))
print "Snowfall for Day 5: ", ("%.1f" % snowFall)
snowFall = float (raw_input("Enter Snowfall for Day 6: "))
print "Snowfall for Day 6: ", ("%.1f" % snowFall)
snowFall = float (raw_input("Enter Snowfall for Day 7: "))
print "Snowfall for Day 7: ", ("%.1f" % snowFall)
main()
但是,之后我们应该使用 for
循环计算总降雪量和平均值。我知道命令 str(command)
也以某种方式参与其中,但我不知道如何进行。
我应该如何解决这个问题?
最佳答案
我建议您将这些值放入列表中以存储它们。因此,在打印之前请将其放入:
snowFallTotal = []
现在您可以将值放入此列表中。在每个 raw_input
之后输入:
snowFallTotal.append(snowFall)
它的作用是将snowFall
“附加”到列表中。
现在,在获取所有值后,您可以使用 for
循环计算总和,然后除以 7
以获得平均值。
totalSum = 0 # variable to store the sum
for i in snowFallTotal: # iterate through the value list
totalSum += i # augmented addition; adds the value to the variable in place
average = totalSum / 7.0 # floating point division to get accurate average
然后就可以打印结果了。
print 'Average Snowfall for the week:', ('%.1f' % average)
顺便说一句,您不需要 for
循环。您可以用简单的 sum
函数替换它。
totalSum = sum(snowFallTotal)
这会将totalSum 分配给snowFallTotal
中的元素总和,这正是for
循环所做的事情。
关于python - 初学者应该如何完成编程任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14641630/