Найти - Пользователи
Полная версия: замена букв в списке на цифры
Начало » Python для новичков » замена букв в списке на цифры
1
Rumato
Здравствуйте, у меня такой вопрос : есть фраза например “Привет мир” мне нужно написать функцию, которая заменяла бы все символы в этом списке на цифры, и на выходе был массив этих цифр, цифры случайные, например от 10 до 100.
вот что сам навоял
from random import randint
import string
str = ""
s = str.split("Привет мир ")
for i in s:
s[i] = i.replece(s, random.randint(10, 100))
print s[i].encode('utf-8')
заранее спасибо за помощь
ZZZ
Хм… Если я правильно понял, то можно получить искомое, подойдя с другой стороны.
from random import randint

src = u"Привет мир"
res = []

for i in len(src):
res.append(randint(10, 100))

print res
print res.join('')
Rumato
спасибо, хорошее решение.
Вот в продолжение темы:
                                        src = "Привет мир"
res = [57, 29, 89, 98, 71, 70, 81, 77, 72, 93]
если нужно приравнять П = 57, делаю словарь
x = list(src)
d = zip(x , res)
dictionary = dict(d)
print dictionary
выводит: {u' ‘: 31, u’\xe2': 93, u'\xe5': 67, u'\xe8': 48, u'\xec': 13, u'\xcf': 93, u'\xf0': 17, u'\xf2': 14}
это же получается в кодировке проблема? как вывести чтобы нормально отображалось?
{П:31, …..}
OldSkif
dictionary.encode() не пробовали?
Rumato
OldSkif
dictionary.encode() не пробовали?
пробывал, пишу :
 print dictionary.encode('utf-8')
- не помогает
Ed
Вам словарь нужен или вывод?
Если вывод, то так попробуйте:

from random import sample

istr = u"Привет мир "
result = sample(range(10, 100), len(istr))
print result
for letter, num in zip(istr, result):
print letter, '=', num
Rumato
Ed, это то, что нужно, спасибо всем за помощь
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB