"Python:将返回语句中的元组转换为字符串"

2024-10-01 09:39:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在研究HTTLCS,在解决这个问题时遇到了一些困难。在

解决问题并不是什么大问题,但我很难将结果作为字符串而不是元组数据类型返回。在

这是我的代码:

def wordCount(paragraph):
    splited = paragraph.split()
    wordnum = len(splited)
    eWord = []
    for aWord in splited:
        if "e" in aWord:
            eWord.append(aWord)
    eWordnum = len(eWord)
    percent = round(eWordnum / wordnum * 100,2)
    return "Your text contains", wordnum, "words, of which" , eWordnum , "(" , percent , "%)" , "contains an 'e'." 



print(wordCount(p))

Python输出的('Your text contains', 108, 'words, of which', 50, '(', 46.3, '%)', "contains an 'e'.")是元组,而不是字符串。在

我知道我可以把print放在函数的末尾,在没有print()语句的情况下调用函数,但是如何用return语句来解决这个问题呢?在


Tags: 字符串inlenreturnwordcount元组printpercent
3条回答
return "Your text contains " + str(wordnum) + 
       " words, of which " + str(eWordnum) + 
       " (" + str(percent) +  "%)" + " contains an 'e'."

或者

^{pr2}$

在第一种情况下,您执行一个字符串连接,并且您必须将wordnumeWordnum和其他数值变量转换为str(通过执行str(variableName))来允许连接(并且对于have't runtime error)

在第二种情况下,执行一个字符串替换,这意味着您提供某种“占位符”%s(这意味着字符串),然后用%符号后面的元组参数替换它们

如果用,分隔返回某个值,则返回一个元组(如您所见)

这是因为在return语句中使用了逗号,Python将其解释为元组。请改为使用format()

def wordCount(paragraph):
    splited = paragraph.split()
    wordnum = len(splited)
    eWord = []
    for aWord in splited:
        if "e" in aWord:
            eWord.append(aWord)
    eWordnum = len(eWord)
    percent = round(eWordnum / wordnum * 100,2)
    return "Your text contains {0} words, of which {1} ({2}%) contains an 'e'".format(wordnum, eWordnum, percent)

^{pr2}$
return "Your text contains {0} words, of which {1} ({2}%) contains an 'e'.".format(wordnum,eWordnum,percent) 

相关问题 更多 >