2017-06-19 14 views
0

ユーザー入力を':'のコロンで連結したいとします。ユーザー入力を連結しますか?

私のスクリプトは、ユーザー入力を介してオプションを取っていると私はそれが好きで保存したい:

Red:yellow:blue

私は、ユーザー入力を読み取るためにループを作成しているが、それを格納する方法がわかりません。

while True: 
    color = input("please enter Color of your choice(To exit press No): ") 
    if color == 'No': 
     break 
    color += color 
print ("colors ", color) 
+1

可能な重複/ question/6159900 /正しい方法 - 書き込む - ファイルへの行にファイルを書き込む) –

答えて

3

できるだけコードに近づけておくのは、ループを入力する前に色という名前の空のリストから始め、入力を取るときにすべての有効な色を追加することです。次に、完了したらjoinメソッドを使用してそのリストを取得し、 ':'セパレータで文字列を作成します。

colors = [] 
while True: 
    color = input("please enter Color of your choice(To exit press No): ") 
    if color == 'No': 
     break 
    else: 
     colors.append(color) 

colors = ':'.join(colors) 
print ("colors ", colors) 

デモ:リストを使用して

please enter Color of your choice(To exit press No): red 
please enter Color of your choice(To exit press No): blue 
please enter Color of your choice(To exit press No): green 
please enter Color of your choice(To exit press No): orange 
please enter Color of your choice(To exit press No): No 
colors red:blue:green:orange 
0

あなたは連結することができます 'を:':":".join(colors)すべての入力色

while True: 
    color = input("please enter Color of your choice(To exit press No): ") 
    if color == 'No': 
     break 
    color += color 
    color += ':' 
print ("colors ", color) 
+0

私はそれが正しい出力を生成するとは思わない。 – idjaw

+0

最後に入力した色が印刷されます。 – newbie

0

した後、あなたはそうのように使用されるように、str.join()を探しています。 https://docs.python.org/2/library/stdtypes.html#str.join

+0

これは、 'join'に繰り返し可能性を与えることを必要とします。文字列を提供するのは「うまくいく」とはいえ、この場合は正しいiterableではありません。文字列を指定してjoinを呼び出すと、 'r:e:d'のようになります。どちらが望ましい出力ではありません。 – idjaw

0

がきちんとしている:[Pythonでファイルに行を記述するための正しい方法](https://stackoverflow.comの

colors = [] 
while True: 
    color = input("please enter Color of your choice(To exit press No): ") 
    if color in ('No'): 
     break 
    colors.append(color) 
print("colors ", ':'.join(colors)) 
+1

本当ですか? :)私はあなたがこれ前に数分前に投稿された同一の答えに気付かなかったと思いますか? – idjaw

関連する問題