Python小数位*简单*

时间:2015-06-24 03:00:32

标签: python

我现在感觉有点金发,但由于某种原因,我无法弄清楚如何解决这个问题。

需要纠正这两个问题。

  1. 使用//整数除法弄平了平均值。
  2. 另外,我需要使用format函数来获得2位小数

    def viewscores(得分):

    sum_scores = sum(scores)
    average = float(sum_scores // len(scores))
    ### here is where I am having the results displayed
    
    print ("The scores are these: " + str(scores))
    print ("The Average score now is: " + str(average))
    

    def main():

    scores = []
    
    scores_file = open('scores.txt', 'r')
    line_list = list(scores_file.readlines())
    
    scores_file.close()
    i = 0
    while i < len(line_list):
        scores.append(int(line_list[i].strip()))
        i += 1
    viewscores(scores)
    

    main()的

3 个答案:

答案 0 :(得分:2)

这是Python2和Python3表现不同的事情之一。

  

使用//整数除法会使平均值变得混乱。

Python 3:

average = sum_scores / len(scores)

Python 2:

average = float(sum_scores) / len(scores)

在任何一种情况下,您都不想使用//

  

另外,我需要使用format函数来获得2位小数

Python 3:

print ('The average score now is {:.2f}'.format(average))

Python 2:

print ('The average score now is %.2f' % average)

即使在每种方言中,也有多种解决方案。

答案 1 :(得分:0)

最简单的选择是使用sum_scores = float(sum(scores)) average = (sum_scores / float(len(scores))) print ("The scores are these: %s" %format(scores, '.2f')) print ("The Average score now is: %s" %format(average, '.2f')

dependencies {
             compile 'com.facebook.android:facebook-android-sdk:4.2.0'
}

答案 2 :(得分:0)

我也是Python的新手。

对于&#34; //&#34;,我对ipython进行了试用,对我来说,无论你使用//或/

,它们都没有多大区别

对于两个决定性的地方问题,我从以下

学到了一些东西

对于功能,您可以咨询Google

  • 我不擅长创建函数,但函数总是应该&#34;返回&#34;,因为python中的所有东西都是对象