Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

16.06.2009, 15:41
|
|
Постоянный
Регистрация: 18.01.2008
Сообщений: 383
Провел на форуме: 9332138
Репутация:
476
|
|
Написать программу поиска самого длинного слова в строке, разделенной пробелами.
Кто знает как реализовать?
Получилось вот так но теперь не знаю как выбрать самое большое
Код:
str = "Mary has a little lamb"
for w in str.split(" "):
a = len(w)
print w, a
|
|
|

16.06.2009, 16:13
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме: 4512757
Репутация:
973
|
|
ну ежели по тупорылому то за два прохода можно сделать без проблем
Код:
stroka = "Mary has a little lamb"
maxlength = 0
splitted_str = stroka.split(" ")
for w in splitted_str:
if len(w)>maxlength:
maxlength = len(w)
else:
pass
for w in splitted_str:
if len(w) == maxlength:
print w
else:
pass
проверил, поправил, 100% рабочий вариант
Последний раз редактировалось login999; 16.06.2009 в 16:47..
|
|
|

16.06.2009, 16:49
|
|
Постоянный
Регистрация: 18.01.2008
Сообщений: 383
Провел на форуме: 9332138
Репутация:
476
|
|
Сообщение от login999
ну ежели по тупорылому то за два прохода можно сделать без проблем
Код:
stroka = "Mary has a little lamb"
maxlength = 0
splitted_str = stroka.split(" ")
for w in splitted_str:
if len(w)>maxlength:
maxlength = len(w)
else:
pass
for w in splitted_str:
if len(w) == maxlength:
print w
else:
pass
проверил, поправил, 100% рабочий вариант
Угу спасибо большое, ток вот maxlength для работы с буфером если я не ошибаюсь, а если ли нечто такое ток для строк? для цифр есть max() ПЫСЫ интерес)))
|
|
|

16.06.2009, 16:52
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме: 4512757
Репутация:
973
|
|
Сообщение от Ergoproxy
Угу спасибо большое, ток вот maxlength для работы с буфером если я не ошибаюсь, а если ли нечто такое ток для строк? для цифр есть max() ПЫСЫ интерес)))
maxlength - это имя переменной )
обрисуй что ты именно хочешь увидеть, для цифр есть макс потому что там все однозначно, 1>0 и ппц, а как ті будешь вібирать саму большую букву ?
|
|
|

16.06.2009, 16:56
|
|
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме: 2868783
Репутация:
414
|
|
Вот так более компактно)
Код:
str = "Mary has a little lamb"
words = {}
for w in str.split(" "):
words[len(w)] = w
print words.get(max(words))
Последний раз редактировалось razb; 16.06.2009 в 17:06..
|
|
|

16.06.2009, 17:05
|
|
Постоянный
Регистрация: 18.01.2008
Сообщений: 383
Провел на форуме: 9332138
Репутация:
476
|
|
Мля и правда  , ми вдуплил)
|
|
|

23.06.2009, 19:50
|
|
Постоянный
Регистрация: 18.01.2008
Сообщений: 383
Провел на форуме: 9332138
Репутация:
476
|
|
Как имея файл некий f.txt и содержимое вида:
127.0.0.1 125
10.0.0.1 126
составить словарь вида значение:ключ т.е
{'127.0.0.1 : '125', '10.0.0.1' : '126'}

|
|
|

23.06.2009, 21:08
|
|
Участник форума
Регистрация: 03.02.2009
Сообщений: 104
Провел на форуме: 270228
Репутация:
70
|
|
Сообщение от Ergoproxy
Как имея файл некий f.txt и содержимое вида:
127.0.0.1 125
10.0.0.1 126
составить словарь вида значение:ключ т.е
{'127.0.0.1 : '125', '10.0.0.1' : '126'}

парсить регуляркой, вообще очень просто.
Код:
import re
cortej = {}
with open('file1.txt','a+') as f1:
for word in f1:
txt1 = str(re.findall(r'(\d.*) ',word))[2:-2]
txt2 = str(re.findall(r' (.*)',word))[2:-2]
cortej[txt1]=txt2
print cortej
'''
Example:
file1:
127.0.0.1 34
128.0.0.2 43
134.546.123.1 21
result:
{'134.546.123.1': '21', '128.0.0.2': '43', '127.0.0.1': '34'}
'''
Последний раз редактировалось [n]-c0der; 23.06.2009 в 21:45..
|
|
|

23.06.2009, 22:45
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме: 4512757
Репутация:
973
|
|
Сообщение от [n]-c0der
парсить регуляркой, вообще очень просто.
Код:
import re
cortej = {}
with open('file1.txt','a+') as f1:
for word in f1:
txt1 = str(re.findall(r'(\d.*) ',word))[2:-2]
txt2 = str(re.findall(r' (.*)',word))[2:-2]
cortej[txt1]=txt2
print cortej
'''
Example:
file1:
127.0.0.1 34
128.0.0.2 43
134.546.123.1 21
result:
{'134.546.123.1': '21', '128.0.0.2': '43', '127.0.0.1': '34'}
'''
Ну вот и нахера там регулярка ?
Код:
some_dictionary = {}
with open("source.txt") as inpt:
for line in inpt:
line = line.translate(None, "\r\n").split(" ")
some_dictionary[line[0]] = line[1]
print some_dictionary
|
|
|

28.06.2009, 01:31
|
|
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме: 2868783
Репутация:
414
|
|
парсить регуляркой, вообще очень просто.
2 [n]-coder, не хочу придераться к коду, но кортеж и словарь разные вещи )
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|