鱼C论坛

 找回密码
 立即注册
查看: 1934|回复: 2

[已解决]以下代码想对列表和元组中不同类型数据求和,为何结果为零?求指教

[复制链接]
发表于 2017-7-12 14:14:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def sum_data(god):
    sum_data = 0.0    #sum初始值定义为0
    for each in god:
        if type(god) == int or type(god) == float:   #只允许int和float类型数据求和
            sum_data += each
        else:
            continue
    return sum_data                    #返回相加值
list1 = [1,3,4,5,2,'a',6]
tuple1 = (-3.2,2,5,3,4,'bb',1,1)
sum_1 = sum_data(list1)
print('列表list1的和为%.3f'%sum_1)    #打印列表求和值并保留3位小数
sum_2 = sum_data(tuple1)
print('元组tuple1的和为%.3f'%sum_2)   #打印元组求和值并保留3位小数
   



运行结果:

列表list1的和为0.000
元组tuple1的和为0.000
最佳答案
2017-7-12 14:18:51
这一句,仔细看看你到底错在哪里了
改成这样
  1. if type(each) == int or type(each) == float:
复制代码

就行了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-7-12 14:18:51 | 显示全部楼层    本楼为最佳答案   
这一句,仔细看看你到底错在哪里了
改成这样
  1. if type(each) == int or type(each) == float:
复制代码

就行了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-7-12 14:23:56 | 显示全部楼层
gopythoner 发表于 2017-7-12 14:18
这一句,仔细看看你到底错在哪里了
改成这样
就行了

哦 对哦 应该定义each的type而不是序列的名字,谢谢指导,恍然大悟
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-28 14:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表