猫纯子 发表于 2020-4-6 14:28:01

新手求助QAQ


怎样修改的话可以是我这样的写法是对的

member=['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
for each in member:
      print(each,end=' ')
      if each.isdigit():
                print()


AttributeError: 'int' object has no attribute 'isdigit'

激光鱼 发表于 2020-4-6 14:39:52

请问你是想读取例如小甲鱼,然后输出88吗,如果是这样,你应该使用字典形式

猫纯子 发表于 2020-4-6 14:44:14

激光鱼 发表于 2020-4-6 14:39
请问你是想读取例如小甲鱼,然后输出88吗,如果是这样,你应该使用字典形式

我就是想输出
小甲鱼 88
黑夜 90
迷途 85
这样的

BngThea 发表于 2020-4-6 14:49:08

因为number列表中有字符串,也有数字,所以不能这样写
如果一定要用字符串,可以转化一下
for each in number:
    each = str(each)

suchocolate 发表于 2020-4-6 14:50:10

本帖最后由 suchocolate 于 2020-4-6 14:53 编辑

因为列表里数字本身就是int了,所以没有isdigit方法,你可以这样:
if isinstance(each,int):
    print()
当然2楼说的对,最好还是字典,不用判断直接遍历输出即可。

激光鱼 发表于 2020-4-6 14:52:33

我先直接说问题吧,.isdigit是检测字符串是否只含数字,而88是整数型int,想不出错,要把88加引号,成为字符串型

猫纯子 发表于 2020-4-6 15:09:53

谢谢,谢谢大噶

编程鱼C 发表于 2020-4-6 15:15:52

for each in number:
    each = str(each)

zltzlt 发表于 2020-4-6 17:23:27

member = ['小甲鱼', 88, '黑夜', 90, '迷途', 85, '怡静', 90, '秋舞斜阳', 88]
for each in member:
    each = str(each)
    print(each, end=' ')
    if each.isdigit():# 当 each 是数字时不能使用 isdigit 方法,可以先把 each 转化为字符串
      print()

如果你的问题已解决,请设置【最佳答案】
页: [1]
查看完整版本: 新手求助QAQ