2014-10-16 4 views
1

Я пытаюсь напечатать свою строку из необработанного ввода с помощью скобок.Как напечатать строку dict

Вот мой код.

words = (raw_input('Please enter a string: ')) 

names = list(words) 
print names 

Я получаю это:

['H', 'e', 'l', 'l', 'o'] 

мне нужно только так:

[Hello] 
+0

Каков ожидаемый результат, если пользователь вводит более одного слова? Например, «Привет, как дела»? – Kevin

+0

Все должно быть в скобках. – pirulo

ответ

5

Вам не нужно list, просто использовать format или %s:

words = raw_input('Please enter a string: ') 

names = '[{}]'.format(words) # or '[%s]'%words 
print names 

, и если пользователь написать больше, чем одно слово вы можете сначала разделить вход и распечатать его (Обратите внимание, что вы должны быть уверены, что есть пространство между ними):

print words.split() 
+0

Это близко к тому, что я ищу .. – pirulo

+0

@pirulo приветствую вас! – Kasramvd

+0

Спасибо большое !!! – pirulo

0
>>> words = [] 
>>> words.append(raw_input('enter the code: ')) 
enter the code: vis 
>>> words 
['vis'] 
+0

Как бы вы удалили тильды. – pirulo

1

Попробуйте использовать:

слова = (raw_input ('введите строку:'))

имена = []

names.append (слова)

2

words является строкой и может считаться списком символов. list(words) изменяет строку в список ее символов.

Если то, что вы хотите, это список только один элемент (строки), составьте список с этим элементом:

>>> words = "This is a Test." 
>>> names = [words] 
>>> print names 
['This is a Test.'] 

Если то, что вы хотите, это список всех слов в строке, расколоть строка:

>>> words = "This is a Test." 
>>> names = words.split() 
>>> print names 
['This', 'is', 'a', 'Test.'] 

.split() разбивает строку на каждом пространстве, чтобы сделать список строк.

EDIT: Я просто понял, что вы хотите, чтобы строка была напечатана между скобками и без кавычек, строка формата Kasra хороша тогда.

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