我正在遵循Python中的一个指导项目,我编写的代码似乎与解决方案一致,但是,我得到了一个错误,而他们没有。你知道吗
我在网上看到可能需要一个return语句,但是解决方案不使用它,而且无论我把return放在哪里,我都会得到一个错误。你知道吗
"displayfreq"
是我在上面的代码中定义的代码;它生成一个排序频率表。你知道吗
genres_ios = displayfreq(ios_free, -5)
for genre in genres_ios:
total = 0
len_genre = 0
for app in ios_free:
genre_app = app[-5]
if genre_app == genre:
tot_ratings = float(app[5])
total += tot_ratings
len_genre += 1
avg_tot_rating = total / len_genre
print(genre, 'with average total rating of', avg_tot_ratings)
我希望看到每种类型的平均收视率,但相反,我得到
"TypeError: 'NoneType' object is not iterable"
对于"for genre in genres_ios"
行
在
displayfreq()
中需要返回语句,否则它将返回None
。因为genres_ios
是None
,所以不能对它进行迭代,从而得到错误。你知道吗如果它在其他机器上工作,
displayfreq()
可能不适用于您的机器。你知道吗当您指定要获取“TypeError:”NoneType“object is not iterable“for the line”for genres\u ios:…”时,这意味着变量genres\u ios具有值None,因此您将获得这样的错误。你知道吗
为此,需要返回排序频率表的变量或表达式。你知道吗
另外请注意,在函数displayfreq中,您没有操作ios\u free变量,否则会更改ios\u free的值。如果你想要一个ios的拷贝,请免费使用ios_免费。副本()。你知道吗
相关问题 更多 >
编程相关推荐