2017-01-10 5 views
0

ランダムな単語/数字/フレーズを入力してもらいたい。彼らが5以上を入力した場合、エラーメッセージが表示され、5以下を入力するとリストが垂直方向に印刷されます。私は白いスペースを数えないようにどのようなコードを使うのか分かりません。また、文字数ではなく、単語/数字の数を数えたいと思います。あなたが私のコードを見て助けを借りれば、それは素晴らしいでしょう!リストと印刷リストの引数を集計する

myList = [] 

myList = raw_input("Enter words,numbers or a phrase (a phrase should be entered between two quotations)...") 

if len(myList) > 5: 
print('Error') 

else: 
#print output 
for variable in L: 
    print variable 
+2

インデントを修正してください –

+3

raw_input( "単語または数字を入力してください...")。split()は単語をあなたのために分割します。 –

+0

前の提案は、テキストをあなたのための単語のリストに分割します。 – martineau

答えて

1

空白文字のデフォルトの区切り文字を使用して、文字列内の単語のリストを返すためにstr.split()を使用して、このような何かを試してみてください:

myList = [] 

while(True): 
    myList = raw_input("Please enter words or numbers: ") 
    if(len(myList.split())) <= 5: 
     break 
    else: 
     print("Error: You entered more than 5 arguments, Try again...") 

for item in myList.split(): 
    print(item) 

は用here!

0

作業コードをお試しくださいあなたが望むものは次のとおりです:

# I separate the input text by the spaces 
data = raw_input("Enter something... ").split(" ") 

# handle the data 
if len(data) > 5: 
    print("Only 4 or less arguments allowed!") 
else: 
    for variable in data: 
     print(variable) 

さて、これはそのケースを処理するので、!$%"#$のような他の文字を挿入するからユーザーを防ぐことはできません、あなたはこの問題の答えのいくつかを確認する必要があります。Stripping everything but alphanumeric chars from a string in Python

楽しんを!

+0

大丈夫です。また、「こんにちは世界」のようなフレーズを使用して1つに数えたい場合は、これも有効ですか? – user3093377

+0

このような振る舞いをするには、ユーザの入力単語をコンマで区切って 'split("、 ")' – Zanzag

関連する問題