Найти - Пользователи
Полная версия: задачи по python (соревнования)
Начало » Python для экспертов » задачи по python (соревнования)
1 2
slav0nic
вышло из рук интузиаста, который ща работает в MS походу один%))
-=<fantom>=-
Питон имхо, может быть только один - от Гвидо Ван Россама!
Curum0
Здравствуйте,я очень извиняюсь, мог бы кто нить мне еще подкинуть задач (либо сайтов c оными) по Python?
slivlen
http://www.python.com.ua/forum/viewtopic.php?id=124
Curum0
на сайте http://www.pythonchallenge.com застрял уже на 3 задании :(
плзз,если у кого есть время обьясните в чем моя ошибка.
задание:
имется текст с кучей просто букв внутри,надо найти lowercase (1 штуку) окруженную с обоих сторон 3 uppercase
что может быть проще вроде



>>> all=open('C:\Documents and Settings\Elmir\My Documents\New.txt')
>>> text=all.read()
>>> S=
>>> for char in text:
… S.append(char)
>>> index1=S
>>> index2=S
>>> index3=S
>>> index4=S
>>> index5=S
>>> index6=S



далее по тупому создаю цикл

for char in S:
… if ((char.islower()) and (index1.isupper()) and (index2.isupper()) and (index3.isupper()) and (index4.isupper()) and (index5.isupper()) and (index6.isupper())):
… print char

и ничего не выдается :(
slivlen
Юзай регулярные выражения. Что-нибудь типа такого: '{3}(){3}'
Curum0
спасибо, но просто интересно где я ошибся…
меня чаще всего именно такие вещи в тупик ставят-вроде бы все правильно ( по моему мнению разумеется),а не работает ни черта :(
slivlen
В чем ошибка? :) Я лично даже не пойму что ты пытаешся сделать.
>>> index1=S
>>> index2=S
>>> index3=S
>>> index4=S
>>> index5=S
>>> index6=S
Чо ты хочешь добиться этими строками? len(char) всегда равоно 1!!! Твоя идея вкорне не верна.
Curum0
len(char) всегда равоно 1!!
почему..у меня же список…я наверное чегото не понимаю :(
этими строками я хотел задать вощем месторасположение этих шести uppercase окружающих искомый lowercase
slivlen
char - это переменная которая меняется в цикле и всегда содержит только 1 символ. Я. как понял. ты хотел получить длину строки. для этого надо было сделать так: 'len или len(text)'. Но даже это не будет работать.
Ты фиксируешь символы кот будешь проверять, соответственно это первые три и последние три. Но строка может быть такой: ‘23123132sdaAAAaAAA23fs’. И соответственно совпадений ты не получишь. Тебе не надо так же загонять строку в массив - это лишняя работа. Если использовать такое лобовое решение то надо просто пройти в цикле по строке, проверяя имеют-ли 3 символа слева и 3 справа верхний регистр.
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