|
发表于 2020-6-26 23:06:37
|
显示全部楼层
本楼为最佳答案
input 是接受用户输入并讲输入的数据转化为字符串,你要想弄成列表 应该要切割,而且这样做并不好,你要输入列表很规范才行
建议用 函数,然后将列表作为参数传入即可
这个就可行了代码:
- list1 = input ('请输入一个列表(以英文逗号隔开列表内的元素):')[1:-1].split(',') # 通过切割字符串,来转为列表
- for i in range(len(list1)):
- if list1[i].isdigit():
- list1[i] = int(list1[i])
- else:
- list1[i] = list1[i][1:-1] # 因为我们输入字符串有带引号 而切割后成为字符串自己会在加上引号,所以把原有的引号去掉
- # 下面的代码就可以正常运行了,你之前代码是错误的 就是 2 L 说的 因为 type 永远为 str
- sum1 = 0
- for each in list1:
- if type(each) == str:
- continue
- else:
- sum1 = sum1 + each
- print(sum1)
复制代码 |
|