哪里出错了,我真的看不出来

img


编写函数get_text_labels(labels),其中labels是一个数字标签索引列表,text_labels = [“梅花”,“莲花”, “樱花”, “桃花”, “梨花”, “杏花”, “菊花”, “桂花”, “茶花”,“牡丹花”, “水仙花”, “石榴花”],实现数字标签索引及其文本名称之间进行转换,例如labels=[1,3,5],输出[“莲花”, “桃花”, “杏花”]。在键盘上输入数字标签索引列表,调用该函数。

输入一个标签时也要构成列表,否则你的代码中 for i in n: 遍历一个数字就出错了

建议如下这么写:

def get_text_labels(labels):
    text_labels = ['梅花','莲花', '樱花', '桃花', '梨花', '杏花', '菊花', '桂花', '茶花', '牡丹花', '水仙花', '石榴花']
    ls = []
    for t in labels:
        ls.append(text_labels[t])
    return ls

s = list(map(int,input().split(',')))
print(get_text_labels(s))

因为数字没有iterator属性,即不能迭代;而列表是可以迭代的,如果输入 [2],就可以得到['樱花'],所以input里最好写上”在键盘上输入数字标签索引列表“。