

◆ Pythonの標準入力のinput()文についての質問です。◆  
例文：

[code]

    import random
    
    line = input().rstrip().split(",")
    list = ['大吉', '中吉', '吉', '凶']
    num = len(list)
    print(list)
    print(list[random.randrange(num)]
    
[/code]

■入力した値：大吉、中吉、吉、凶

◆上の例文の3行目のrstrip()について、その意味と働きを教えてください。  
あと、その後のsplit(",")についても教えてもらえますか。


CC BY-SA 4.0
2020-04-08T13:04:23.390
65472
2020-04-09T03:11:27.893
38025
question
python
Pythonの「rstrip」の意味と働きについて教えてください。


回答としては、これらになります。  
標準入力(だいたいキーボード)から入力した文字列に、それぞれの処理を適用しているものです。

[input([prompt])](https://docs.python.org/ja/3/library/functions.html#input)

> 引数 prompt が存在すれば、それが末尾の改行を除いて標準出力に書き出されます。次に、この関数は入力から 1 行を読み込み、文字列に変換して
> (末尾の改行を除いて) 返します。 EOF が読み込まれたとき、 EOFError が送出されます。例:
[code]

>     >>> s = input('--> ')  
>     --> Monty Python's Flying Circus
>     >>> s  
>     "Monty Python's Flying Circus"
>  
[/code]

[str.rstrip([chars])](https://docs.python.org/ja/3/library/stdtypes.html?highlight=strip#str.rstrip)

> 文字列の末尾部分を除去したコピーを返します。引数 chars は除去される文字集合を指定する文字列です。 chars が省略されるか None
> の場合、空白文字が除去されます。 chars 文字列は接尾語ではなく、そこに含まれる文字の組み合わせ全てがはぎ取られます:
[code]

>     >>> '   spacious   '.rstrip()
>     '   spacious'
>     >>> 'mississippi'.rstrip('ipz')
>     'mississ'
>  
[/code]

[str.split(sep=None,
maxsplit=-1)](https://docs.python.org/ja/3/library/stdtypes.html?highlight=strip#str.split)

> 文字列を sep をデリミタ文字列として区切った単語のリストを返します。maxsplit が与えられていれば、最大で maxsplit 回分割されます
> (つまり、リストは最大 maxsplit+1 要素になります)。 maxsplit が与えられないか -1 なら、分割の回数に制限はありません
> (可能なだけ分割されます)。
>
> sep が与えられた場合、連続した区切り文字はまとめられず、空の文字列を区切っていると判断されます(例えば '1,,2'.split(',') は
> ['1', '', '2'] を返します)。引数 sep は複数の文字にもできます (例えば '1<>2<>3'.split('<>') は ['1',
> '2', '3'] を返します)。区切り文字を指定して空の文字列を分割すると、 [''] を返します。
[code]

>     >>> '1,2,3'.split(',')
>     ['1', '2', '3']
>     >>> '1,2,3'.split(',', maxsplit=1)
>     ['1', '2,3']
>     >>> '1,2,,3,'.split(',')
>     ['1', '2', '', '3', '']
>  
[/code]

* * *

似たような使い方と解説の記事を見つけたので追記：  
まったく同じ例は無いですが。

[Python3で競技プログラミングする時に知っておきたいtips（入力編）](https://qiita.com/kyuna/items/8ee8916c2f4e36321a1c)


CC BY-SA 4.0
2020-04-08T15:18:14.347
65474
2020-04-09T03:11:27.893
2020-06-17T08:14:45.997
-1
26370
65472
answer