Python 这些有什么不同?类型错误:';int';对象是不可编辑的
有人能解释一下这句话是怎么说的吗Python 这些有什么不同?类型错误:';int';对象是不可编辑的,python,Python,有人能解释一下这句话是怎么说的吗 return [grade if (grade < 38 or grade % 5 < 3) else (grade + (5 - grade%5)) for grade in grades] 返回[如果等级(等级
return [grade if (grade < 38 or grade % 5 < 3) else (grade + (5 - grade%5)) for grade in grades]
返回[如果等级(等级<38或等级%5<3)的等级,则返回等级中等级的等级(等级+(5-等级%5))]
与此代码块不同:
for grade in grades:
if grade<38 or grade%5<3:
return grade
else:
return grade + (5-grade%5)
对于等级中的等级:
如果评分要让他们输出相同的结果,您需要将结果附加到列表中,而不是返回结果。
基本上,第二段代码应该是:
def block2(grades):
res = []
for grade in grades:
if grade<38 or grade%5<3:
res.append(grade)
else:
res.append(grade + (5-grade%5))
return res
def区块2(等级):
res=[]
按年级划分的年级:
如果一开始成绩不错,他们会做两件完全不同的事情。第一个返回一个列表对象,它是由列表理解创建的。第二个返回grade
或grade+(5-grade%5)
。这通常发生在第一次迭代时,使for循环有点无点。很可能,错误来自于尝试迭代调用这些代码片段所来自的函数的结果?下次请发布完整的错误消息并进行完整的回溯。