新手Python,使用字符串作为输入实现函数
我刚开始学Python,最近在做作业时遇到了一道题,让我有点卡住了。
题目是这样的:
实现一个叫做cheer()的函数,它需要接收一个团队名称(字符串形式),然后打印出一个加油的内容,格式如下:
cheer(‘Huskies’)
你怎么拼写赢家?
我知道,我知道!
H U S K I E S !
这就是赢家的拼写方式!
加油,Huskies!
除了第三行的团队名称要分开显示外,我其他的都弄明白了。下面我会贴出我写的代码。如果有人有办法解决这个问题,我会非常感激!
def cheer(team):
print("How do you spell winner?"+"\nI know, I know!""\n"+team.upper()+"!"+"\nAnd that's how you spell winner!"+"\nGo "+ team+"!"+"\n")
用“Devils”作为输入,这段代码的输出是这样的:
cheer("Devils")
How do you spell winner?
I know, I know!
DEVILS!
And that's how you spell winner!
Go Devils!
2 个回答
0
在Python中,最简单的方法来遍历字符串中的元素,就是使用一种叫做列表推导式的东西,你可以在这里了解更多:
在你的例子中,你想要遍历字符串中的每个字符,后面加个空格,然后把这些结果再合并成一个字符串。这可以用一行代码在Python中完成:
("".join([s + ' ' for s in team])).upper()
我们来拆解一下这段代码,我在一行里做了几件事:
1) 遍历字符串中的每个字母,并在后面加一个空格
2) 这个遍历会返回一个列表,所以我用一个空字符串把这个列表连接起来,这样就得到了一个完整的字符串
3) 把这个字符串转换成大写字母
6
你可以通过使用 str.join 来在每个字母之间加一个空格:
In [22]: team = 'Huskies'
In [23]: ' '.join(team.upper())
Out[23]: 'H U S K I E S'
或者,如果你想加上感叹号的话,
In [27]: ' '.join(team.upper()+'!')
Out[27]: 'H U S K I E S !'