【发布时间】:2016-04-29 01:34:19
【问题描述】:
def intron_comparison(retained_introns_file, non_retained_introns_file):
with open(retained_introns_file, 'r') as r, open(non_retained_introns_file, 'r') as nr:
r_gc = avg_gc(r)
nr_gc = avg_gc(nr)
r_avglen = intlength(r)
nr_avglen = intlength(nr)
r_percdiv = intdiv(r)
nr_percdiv = intdiv(nr)
return ('The GC content for non retained introns is ' + nr_gc + '\n' +
'The GC content for retained introns is ' + r_gc + '\n' +
'The average length of non retained introns is ' + nr_avglen + '\n' +
'The average length of retained introns is ' + r_avglen + '\n' +
'The percent of non retained introns divisible by 3 is ' + nr_percdiv + '\n' +
'The percent of retained introns divisible by 3 is ' + r_percdiv + '.')
上面是我编写的一个函数,它汇集了 3 个其他函数并比较了它们之间的 2 个文件。如您所见,我希望 return 语句在每个值之前表示一个描述符,但我收到以下错误:
TypeError: Can't convert 'NoneType' object to str implicitly
关于最后一行。我错过了什么?
编辑:代码运行得非常好,我只是在那个 return 语句上遇到了问题——我认为这是我遗漏的一些小东西?预先感谢您的帮助!
【问题讨论】:
-
您尝试与字符串连接的变量之一是
None。字符串只能与其他字符串连接。我的心理调试告诉我,你调用的那些函数只是打印它们的值,而不是返回它们计算值的字符串表示形式。 -
您的 6 个函数之一正在返回
None。与字符串连接时,最好将这些变量包装在str()中。 -
感谢您的意见!现在正在寻找那些 None 值.... :)
标签: python string function return multiple-return-values