带有字符串和函数的python返回语句

带有字符串和函数的python返回语句,python,string,function,return,multiple-return-values,Python,String,Function,Return,Multiple Return Values,上面是我编写的一个函数,它将其他3个函数组合在一起,并比较它们之间的2个文件。如您所见,我希望return语句在每个值之前表示一个描述符,但我收到以下错误: 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:

上面是我编写的一个函数,它将其他3个函数组合在一起,并比较它们之间的2个文件。如您所见,我希望return语句在每个值之前表示一个描述符,但我收到以下错误:

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 + '.')
关于最后一行。我错过了什么


编辑:代码运行得非常好,我只是对返回语句有问题——我想这是我遗漏的一些小东西吧?提前感谢您的帮助

对于像你这样的大人物,你可以做一些事情

首先,请使用“”,而不是尝试按您现在的方式构建它

其次,使用%样式或格式将值插入字符串中。较新的python建议使用格式

TypeError: Can't convert 'NoneType' object to str implicitly

对于像你这样的大串做了几件事

首先,请使用“”,而不是尝试按您现在的方式构建它

其次,使用%样式或格式将值插入字符串中。较新的python建议使用格式

TypeError: Can't convert 'NoneType' object to str implicitly

您尝试用字符串连接的变量之一是
None
。字符串只能与其他字符串连接。我的心理调试告诉我,你调用的那些函数只是打印它们的值,而不是返回它们的计算值的字符串表示形式。你的6个函数之一是返回
None
。使用字符串连接时,最好将这些变量包装在
str()
中。感谢您的输入!现在正在搜寻那些无值的对象……)您尝试用字符串连接的变量之一是
None
。字符串只能与其他字符串连接。我的心理调试告诉我,你调用的那些函数只是打印它们的值,而不是返回它们的计算值的字符串表示形式。你的6个函数之一是返回
None
。使用字符串连接时,最好将这些变量包装在
str()
中。感谢您的输入!现在正在搜寻那些无值的对象……)这将消除错误,但仍将为受影响的值打印
None
。问题不是如何消除None,而是如何显示结果。在问题中,他明确表示函数的结果是正确的,正如我所说的,我们不知道函数是否应该返回
None
,如果它们之前一直在打印结果,但没有返回任何内容,则会这样做。这将消除错误,但它仍然会为受影响的值打印
None
。问题不是如何去除None,而是如何显示结果。在问题中,他明确表示函数的结果是正确的,正如我所说的,我们不知道函数是否应该返回
None
,如果它们之前一直在打印结果,但没有返回任何内容,那么它们就会这样做。