HOME    FORUMS    MEMBBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #171  
Старый 16.06.2009, 15:41
Ergoproxy
Постоянный
Регистрация: 18.01.2008
Сообщений: 383
Провел на форуме:
9332138

Репутация: 476
Отправить сообщение для Ergoproxy с помощью ICQ
По умолчанию

Написать программу поиска самого длинного слова в строке, разделенной пробелами.


Кто знает как реализовать?
Получилось вот так но теперь не знаю как выбрать самое большое


Код:
 str = "Mary has a little lamb" 
 for w in str.split(" "):
      a = len(w)     
     print w, a
 

  #172  
Старый 16.06.2009, 16:13
login999
Постоянный
Регистрация: 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..
 

  #173  
Старый 16.06.2009, 16:49
Ergoproxy
Постоянный
Регистрация: 18.01.2008
Сообщений: 383
Провел на форуме:
9332138

Репутация: 476
Отправить сообщение для Ergoproxy с помощью ICQ
По умолчанию

Цитата:
Сообщение от 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() ПЫСЫ интерес)))
 

  #174  
Старый 16.06.2009, 16:52
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме:
4512757

Репутация: 973


По умолчанию

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

  #175  
Старый 16.06.2009, 16:56
razb
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме:
2868783

Репутация: 414


Отправить сообщение для razb с помощью ICQ
По умолчанию

Вот так более компактно)
Код:
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..
 

  #176  
Старый 16.06.2009, 17:05
Ergoproxy
Постоянный
Регистрация: 18.01.2008
Сообщений: 383
Провел на форуме:
9332138

Репутация: 476
Отправить сообщение для Ergoproxy с помощью ICQ
По умолчанию

Мля и правда , ми вдуплил)
 

  #177  
Старый 23.06.2009, 19:50
Ergoproxy
Постоянный
Регистрация: 18.01.2008
Сообщений: 383
Провел на форуме:
9332138

Репутация: 476
Отправить сообщение для Ergoproxy с помощью ICQ
По умолчанию

Как имея файл некий f.txt и содержимое вида:
127.0.0.1 125
10.0.0.1 126

составить словарь вида значение:ключ т.е
{'127.0.0.1 : '125', '10.0.0.1' : '126'}
 

  #178  
Старый 23.06.2009, 21:08
[n]-c0der
Участник форума
Регистрация: 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..
 

  #179  
Старый 23.06.2009, 22:45
login999
Постоянный
Регистрация: 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
 

  #180  
Старый 28.06.2009, 01:31
razb
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме:
2868783

Репутация: 414


Отправить сообщение для razb с помощью ICQ
По умолчанию

Цитата:
парсить регуляркой, вообще очень просто.
Код:
cortej = {}
2 [n]-coder, не хочу придераться к коду, но кортеж и словарь разные вещи )
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ