2017-01-10 7 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

хорошо. Кроме того, если я хочу использовать фразы типа «привет мир» и хочу, чтобы он считался одним, будет ли это работать? – user3093377

+0

Если вы хотите, чтобы это поведение вводило ваши слова пользователя через запятую и использовало 'split (", ")' – Zanzag

Смежные вопросы