首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一个人应该如何处理初学者的编程任务?

一个人应该如何处理初学者的编程任务?
EN

Stack Overflow用户
提问于 2013-02-01 15:31:48
回答 4查看 213关注 0票数 2

我是python的新手,正在努力为一个类创建一个程序。我们应该在一周内记录每天的降雪量,并将输入四舍五入到小数点后一位,我这样做了:

代码语言:javascript
复制
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)也以某种方式参与其中,但我不知道是如何参与的。

我应该如何处理这个问题?

EN

回答 4

Stack Overflow用户

发布于 2013-02-01 15:39:03

我建议你做的是把这些值放到一个列表中,用来存储它们。因此,在打印之前,请输入以下内容:

代码语言:javascript
复制
snowFallTotal = []

现在您可以将值放入此列表中。在每个raw_input之后放入以下内容:

代码语言:javascript
复制
snowFallTotal.append(snowFall)

这样做的目的是将snowFall‘追加’到列表中。

现在,在获得所有值之后,可以使用for循环计算总和,然后除以7得到平均值。

代码语言:javascript
复制
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

然后,您可以打印结果。

代码语言:javascript
复制
print 'Average Snowfall for the week:', ('%.1f' % average)

顺便说一句,您不需要for循环。您可以将其替换为一个简单的sum函数。

代码语言:javascript
复制
totalSum = sum(snowFallTotal)

这会将totalSum赋值给snowFallTotal中所有元素的和,这也正是for循环所做的。

票数 2
EN

Stack Overflow用户

发布于 2013-02-01 16:50:49

如果使用循环,可以节省几行代码:

代码语言:javascript
复制
# An empty list to hold data
snowfalls = []

# Loop through each daynumber, from 1 to 7
for daynumber in range(1,8):
    snowfall = float(raw_input("Enter Snowfall for Day {}: ".format(daynumber)))
    snowfalls.append(snowfall)
    print "Snowfall for Day {}: {:.1f}".format(daynumber, snowFall)

# For debugging, print the whole list
print snowfalls

# Calculate total
total_snowfall = sum(snowfalls)
print "Total snowfall: {:.1f}".format(total_snowfall)

# Calculate average (= total / 7.0 ) 
# len() gets the length of the snowfall list
average_snowfall = total_snowfall / len (snowfalls)
print "Average snowfall: {:.1f}".format(average_snowfall)

我使用了format(),这是一种新的字符串格式化方法--它非常好用:)

票数 2
EN

Stack Overflow用户

发布于 2013-02-01 16:44:03

我建议你仔细阅读你的作业规范,以及你的课堂笔记。作业没有足够的材料让学生完成任务的情况很少见。

有许多与Python online相关的资源,包括官方文档,它们可以帮助您使用特定的功能,如str()

如果你能直接接触到你的老师,问他们很多问题。它们可以帮助您解决有关如何处理编程任务的任何基本问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14641630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档