-1

私は Python が初めてで、宿題で抱えている問題の 1 つに行き詰まっています。

これが質問ですか?入力としてチーム名を (文字列として) 取り、次のように歓声を出力する関数 Cheer() を実装します。

cheer(‘Huskies’)

勝者のつづりは?
分かってる!
ハスキー!
そして、それがあなたが勝者を綴る方法です!
ハスキーに行く!

3 行目のスペースで区切られたチーム名を除いて、すべてを理解することができました。私が持っているものを以下に投稿します。誰かがそれを修正する方法を知っていれば、私はそれを大いに感謝しますか?

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!
4

2 に答える 2

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 !'
于 2013-02-01T17:35:33.563 に答える
0

文字列内の要素を反復処理する最も簡単な方法は、Python でリスト内包表記として知られているものを使用することです。詳細については、こちらを参照してください。

リスト内包表記

あなたの例では、文字列内の各項目を反復処理し、スペースを追加してから、結合を使用してそれらの結果を連結します。これは、Python の 1 行のコードで実行できます。

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

このコードを分析すると、1 行でいくつかのことを実行できます。

1) 文字列内の各文字を反復し、スペースを追加する

2) その繰り返しはリストを返すので、そのリストを空の文字列と結合し、単一の文字列を与えます

3) その文字列を大文字に変換します

于 2013-02-01T17:51:26.927 に答える