Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 27, 2011 13:34:38

Rumato
От:
Зарегистрирован: 2010-10-03
Сообщения: 93
Репутация: +  0  -
Профиль   Отправить e-mail  

замена букв в списке на цифры

Здравствуйте, у меня такой вопрос : есть фраза например “Привет мир” мне нужно написать функцию, которая заменяла бы все символы в этом списке на цифры, и на выходе был массив этих цифр, цифры случайные, например от 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')
заранее спасибо за помощь



Офлайн

#2 Фев. 27, 2011 14:44:59

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

замена букв в списке на цифры

Хм… Если я правильно понял, то можно получить искомое, подойдя с другой стороны.

from random import randint

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

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

print res
print res.join('')



Офлайн

#3 Фев. 27, 2011 17:21:30

Rumato
От:
Зарегистрирован: 2010-10-03
Сообщения: 93
Репутация: +  0  -
Профиль   Отправить e-mail  

замена букв в списке на цифры

спасибо, хорошее решение.
Вот в продолжение темы:

                                        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, …..}



Офлайн

#4 Фев. 27, 2011 17:24:40

OldSkif
От:
Зарегистрирован: 2011-02-25
Сообщения: 32
Репутация: +  0  -
Профиль   Отправить e-mail  

замена букв в списке на цифры

dictionary.encode() не пробовали?



Офлайн

#5 Фев. 27, 2011 17:39:26

Rumato
От:
Зарегистрирован: 2010-10-03
Сообщения: 93
Репутация: +  0  -
Профиль   Отправить e-mail  

замена букв в списке на цифры

OldSkif
dictionary.encode() не пробовали?
пробывал, пишу :
 print dictionary.encode('utf-8')
- не помогает



Отредактировано (Фев. 27, 2011 17:40:21)

Офлайн

#6 Фев. 27, 2011 17:43:32

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

замена букв в списке на цифры

Вам словарь нужен или вывод?
Если вывод, то так попробуйте:

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



Офлайн

#7 Фев. 27, 2011 18:19:37

Rumato
От:
Зарегистрирован: 2010-10-03
Сообщения: 93
Репутация: +  0  -
Профиль   Отправить e-mail  

замена букв в списке на цифры

Ed, это то, что нужно, спасибо всем за помощь



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version