我一直在研究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))
Run Code Online (Sandbox Code Playgroud)
Python输出('Your text contains', 108, 'words, of which', 50, '(', 46.3, '%)', "contains an 'e'.")是一个元组,而不是字符串.
我知道我可以在函数的末尾放置print并在没有print()语句的情况下调用函数,但是如何使用return语句解决这个问题呢?
我认为我对函数如何工作以及如何将它们分配给变量有了一个很好的理解.然而,我刚刚看了几个月前读过的一些学习Python的Hard Way练习(最值得注意的是练习21),并注意到一些关于解释器输出的有趣的事情.
def add(a, b):
print "ADDING %d + %d" % (a, b)
return a + b
Run Code Online (Sandbox Code Playgroud)
输出:
>>> add(30, 5)
ADDING 30 + 5
35
Run Code Online (Sandbox Code Playgroud)
为什么这显示35?难道你不应该写"print add(30,5)"来显示返回值吗?
>>> age = add(30, 5)
ADDING 30 + 5
>>> age
35
Run Code Online (Sandbox Code Playgroud)
变量赋值看起来像调用函数并输出print语句而不是返回值...但变量本身显示值35,为什么变量赋值不一样?
我希望这些问题有意义.我只是想更好地了解幕后发生的事情.如果有人有外读,请告诉我!