2016-08-16 2 views
-3

ユーザーが入力する入力形式についてはわかりません。 2 possibitiesがありますPythonでスペースを改行文字として解釈する

コード:

n=int(input("enter the no of workers \n")) 
print("enter the names of workers") 
NameList=[] 
for i in range(n): 
    NameList.append(input()) 
print(NameList) 

可能性1:

は、労働者

4のない

は労働者

NAME1

の名前を入力します入力してください

name2の

NAME3

NAME4

[ 'NAME1'、 'name2の'、 'NAME3'、 'NAME4']

偉大な作業... !!

可能性2:

入力がないであろう。

は、労働者の名前を入力する作業者

の何を入力

NAME1 NAME2 NAME3 NAME4

この場合、私のコードは失敗します。私は別のコードを書く必要があります(私はそれを書く方法を知っています;))この入力形式を受け入れる。

いずれのコードも両方の入力フォーマットで動作することはありますか。空白をEnterとして処理する。ありがとう

+0

タイトルにSHOUTを入れないでください。 – SurvivalMachine

+0

ワーカー名にスペースを含めることはできますか? – DeepSpace

+0

DeepSpaceはありません。作業者名にスペースはありません。 –

答えて

1

ワーカー名にスペースを含めることができない場合は、それを確認してそれに応じて動作を変更できます。

それは完璧ではないが、ユーザは、2つのオプション(例えば'a'、その後'b c'に入る)を組み合わせた場合、これはでも動作します(n == 3場合と'a b''c d'を入力する例えば、以上n名を取得することが可能です)スペースの代わりに

n = int(input("enter the no of workers \n")) 
print("enter the names of workers") 
NameList = [] 
while len(NameList) < n: 
    worker_name = input() 
    if ' ' in worker_name: 
     if NameList: 
      NameList.extend(worker_name.split()) 
     else: 
      NameList = worker_name.split() 
    else: 
     NameList.append(worker_name) 
print(NameList) 
+0

人はいません!私はユーザーに入力フォーマットを伝えることはできません。スペースまたはスペースなしで入力します。彼/彼女の選択です。 –

+0

@SamarYadav私の更新答えを見てください。 – DeepSpace

+0

する必要があります。私はPythonが初めてです。ありがとう! –

0

、私は非常には以下をお勧めします:

for i in range(n): 
    NameList.append(input("What is the name of worker " + i +"?")) 

の場合は、にスペースを入力する必要があります。 DeepSpaceの答えを使用してください。

関連する問題