プロが教える店舗&オフィスのセキュリティ対策術

たとえば、s = Tokyo Kyoto という文字列で
s2 = s.split() しますと、s2は["Tokyo", "Kyoto"]
となりますが、これはlistじゃないんですか?
s2のなかのものについて for x in s2: などとしますと、できません。

A 回答 (6件)

> でもわたしのはできませんでした。



「わたしのは」って何だろ?Python処理系の事?
単純に「わたしが書いたのは」が出来なかった、って言うのなら、それは単に「あなたが書いたコードが間違っているから」です。
それ以上でもそれ以下でもありません。

大体、 #3氏に対するお礼に書いてた

s=input() s2=s.reverse() for x in s2: print(x, end=" ")

とか、マジでこのまま書いてたとしたら、それは「わたしのは」もクソも「間違った事を書いてる」だけですよ。
何だろこれ、とかPythonが思うより先に僕も思うもの(苦笑)。
大体、反転させるだけ、ならs.split().reverse()だけで終わりなんだよな。

for x in s2: print(x, end=" ")

なんつーのが要らない。っつーかどこからこれが出てきたんだろ?
もしかしたらこれがやりたかったのかしら。

s2 = [print(f'{x}', end=" ") for x in reversed(s.split())]

あるいはね。

s2 = s.reverse()

ってのがそもそも間違ってるの。メソッドreverseは返り値を持たない。
従ってs2に結果を代入出来ない。

メソッドreverseはsplitされたsを直接書き換えちゃう。だから変化してるのはsそのものなんだ。

まぁ、あなたのコードが一体何をやりたかったのかイマイチ分からんのだけど、どっちにせよも「間違ってる」ものを「動かないのはなぜ?」って言われても、そりゃ「間違ってるからだ」としか言いようがないんですよ。
    • good
    • 1
この回答へのお礼

ごめんなさい。納得しました。ありがとうございます。でもちょっとひどくないですか。

お礼日時:2021/12/05 17:39

いろいろやってみれば、覚えていくと思います。


s.split()
s2.split()
s.reverse()
s2.reverse()
for x in s:print(x)
for x in s2:print(x)
など。
少しづつ確認しながら完成に近づけましょう。
    • good
    • 0
この回答へのお礼

ありがとう

ありがとうございます。

お礼日時:2021/12/06 18:13

> ごめんなさい。

話がわかりにくかったですが、これはプログラミング対戦の問題で、s=input()でした、だからまちがえましたが、できませんでした。

だからできるわ。

>>> s = input()
This looks hard !
>>> s2 = " ".join(reversed(s.split()))
>>> s2
'! hard looks This'
>>>

こうだろ?
    • good
    • 0
この回答へのお礼

ありがとうございます。でもわたしのはできませんでした。

お礼日時:2021/12/05 17:10

どう「できませんでした」なのですか?


できるだけ具体的に書きましょう。

あなたが「できない」と判断した内容が、実は「正しい」動作ということもあります。
    • good
    • 0
この回答へのお礼

私の記憶ですと、与えられた文を逆順にするもんだいでした。入力がThis looks hard !でしたら、! hard looks thisと出力します。それでs=input() s2=s.reverse() for x in s2: print(x, end=" ")としたらできませんでした。

お礼日時:2021/12/05 16:53

C言語じゃねぇだろ(苦笑)。



投稿前にキチンとカテゴリを確認するように。
そういう「確認グセ」を付けないとプログラミングは上達せんよ。
冗談じゃなしに。

だから

> たとえば、s = Tokyo Kyoto という文字列で

もうコレ自体が文字列じゃない。
これはPythonの文法違反だ。
分かる?
投稿前に確認してねぇだろ。

こうだろ?

>>> s = "Tokyo Kyoto"
>>> s2 = s.split()
>>> s2
['Tokyo', 'Kyoto']
>>> for x in s2:
   print(x)


Tokyo
Kyoto
>>>

だから、

> s2のなかのものについて for x in s2: などとしますと、できません。

答えは「出来る」だ。
出来ないのはあなたが確認グセをつけてないので、どっかうっかり「間違えてる」だけ、なんだよ。

確認グセをつけよう。
これは習慣、の話だ。
    • good
    • 0
この回答へのお礼

ごめんなさい。話がわかりにくかったですが、これはプログラミング対戦の問題で、s=input()でした、だからまちがえましたが、できませんでした。

お礼日時:2021/12/05 16:32

s = "Tokyo Kyoto"


ですね。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!