鱼C论坛

 找回密码
 立即注册
查看: 2092|回复: 6

[已解决]大神萌,第十六课第二道动动手不知道哪里出错了

[复制链接]
发表于 2020-2-25 11:39:34 | 显示全部楼层 |阅读模式

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

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

x
temp = input(‘请输入一串数据’)
numbers = list(temp)
tn = list()
for each in numbers:
        if not instance(each,str):
                tn.append(each)
a = sum(tn)
print(a)

运行后是这样的:

请输入一串数据:5,6,7,a

>>>



平板不知道为何没法添加图片,麻烦各位大神啦
最佳答案
2020-2-25 12:26:10
本帖最后由 jackz007 于 2020-2-25 12:30 编辑
#-*-coding:gbk-*-
numbers = input('请输入一串数据:') . split(',')
a = 0
for each in numbers:
    if each . isdigit():
        a += int(each)
print(a)
    还可以更简单:
#-*-coding:gbk-*-
a = sum([int(x) for x in input('请输入一串数据 : ') . split(',') if x . isdigit()])
print(a)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-2-25 11:44:54 | 显示全部楼层
temp = input('请输入一串数据').split(',')    # 以逗号分隔
numbers = list(temp)
tn = list()
for each in numbers:
    if each.isdigit():
        tn.append(int(each))
a = sum(tn)
print(a)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-25 12:26:10 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2020-2-25 12:30 编辑
#-*-coding:gbk-*-
numbers = input('请输入一串数据:') . split(',')
a = 0
for each in numbers:
    if each . isdigit():
        a += int(each)
print(a)
    还可以更简单:
#-*-coding:gbk-*-
a = sum([int(x) for x in input('请输入一串数据 : ') . split(',') if x . isdigit()])
print(a)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-25 14:38:42 | 显示全部楼层

你好!我主要是不知道为啥我那个程序实现不了
split我查了一下是分隔的作用,但是不太理解得了
以及那个if not isinstance(each,str)可以这么使用吗
按照逻辑下来是哪个环节出错啦
麻烦您了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-25 14:49:28 | 显示全部楼层
Xfxyxbb 发表于 2020-2-25 14:38
你好!我主要是不知道为啥我那个程序实现不了
split我查了一下是分隔的作用,但是不太理解得了
以及那 ...

不可以,因为无论用户输入什么,input() 返回的结果都是字符串,当然分割后的结果也是字符串,所以要用 isdigit() 判断而不是用 isinstance()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-25 17:12:13 | 显示全部楼层
zltzlt 发表于 2020-2-25 14:49
不可以,因为无论用户输入什么,input() 返回的结果都是字符串,当然分割后的结果也是字符串,所以要用 i ...

明白了!谢谢您!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-25 17:12:48 | 显示全部楼层
zltzlt 发表于 2020-2-25 14:49
不可以,因为无论用户输入什么,input() 返回的结果都是字符串,当然分割后的结果也是字符串,所以要用 i ...

明白了!谢谢您!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-12 10:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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