为了账号安全,请及时绑定邮箱和手机立即绑定

关于变量的数据类型的问题

def average(*args):    if len(args)==0:        return 0.0    else:        sum = 0.0        for a in args:            sum += a        return sum/len(args) print average() print average(1, 2) print average(1, 2, 2, 3, 4) 为什么sum要定义成0.0,定义为0就错误

正在回答

3 回答

在python等多种语言中,sum=0,默认sum是整型,sum=0.0,默认sum为浮点型

整型与整型相除 得到的是 去除小数部分的整数,所以为了得到正确答案,应该将sum定义为0.0

0 回复 有任何疑惑可以回复我~

因为0是整数型, 0.0是浮点型。  例如:sum = 0   因为sum是整数型,当你把数值赋值给sum的时候,系统会自动将浮点数转换成整数。

0 回复 有任何疑惑可以回复我~
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys

def average(*args):
    if len(args)==0:
        return 0
    else: 
        sum = 0
        for a in args:  
            sum += a
        return sum/len(args) 

a = average()
b = average(1, 2) 
c = average(1, 2, 2, 3, 4)

print (a)
print (b)
print (c)

结果如下

0

1.5

2.4

我在 http://www.mcqyy.com/RunCode/python3/ 这上面运行的,并没有出现你说的问题(两个0 两个0.0 或者一个0一个0.0我都试过 没问题)

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758623    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

关于变量的数据类型的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信