Python新手,使用字符串作为输入实现函数

时间:2013-02-01 17:32:34

标签: python

我是Python新手,我的家庭作业问题之一让我陷入困境。

这是问题吗? 实现函数cheer(),它将团队名称(作为字符串)作为输入,并打印出如图所示的欢呼:

cheer(‘Huskies’)

你如何拼出胜利者?
我知道,我知道! H U S K I E S!
这就是你拼出胜利者的方式! 去哈士奇!

除了第三行的间隔队名外,我已经能够解决所有问题。我会发布下面的内容。如果有人有任何想法如何解决它,我会非常感激吗?

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 :(得分: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 !'

答案 1 :(得分:0)

迭代字符串中元素的最简单方法是在python中使用所谓的列表推导,你可以在这里阅读更多关于它们的信息:

List Comprehensions

在您的示例中,您希望迭代字符串中的每个项目,附加一个空格,然后使用连接将这些结果重新连接在一起。这可以在python中的一行代码中完成:

("".join([s + ' ' for s in team])).upper()

解析这段代码,我在一行中做了几件事:

1)迭代字符串中的每个字母,并附加一个空格

2)该迭代返回一个列表,所以我用一个空字符串加入该列表,该字符串给出一个字符串

3)将该字符串转换为大写