Мастерство программирования

-

Программирование на Python



igor.kaist


репутация:
на сайте с 1970 года
сообщений:

#1

В последнее время все больше людей начали изучать питон, для многих это первый язык программирования. Но в первую очередь люди берутся за s60 api, забывая о главном-исскустве программирования. Ведь знаний всех комманд недостаточно для написания серьезной программы. Предлагая для начала открыть старые советские учебники по информатике, заглянуть в задачи. Для задач такого рода не требуется много знаний, достаточно \\базы\\ питона, и немного сообразительности, никаких импортов модулей. Итак, пишем: название задания, задание. Отвечаем: правильный ответ, и если многие затрудняются с решением, пишем решение. Удачи!


тема создана:

Рейтинг: 4
голосов: 1

Deftrue


репутация:
на сайте с 1970 года
сообщений:

#2

Тема че то опустела.
Вот задача:
Даны буквы 'a','b','c','d','e'. Нужно составить все слова-анаграммы(можно любые , хоть 'bdcae', лишь бы буквы не повторялись). Результат занести в список.

Я решил , но интересно , сможет ли кто нить еще рeшить smile

watt


репутация:
на сайте с 1970 года
сообщений:

#3

Deftrue, уже было )

s='abcd'
z=len(s)
list=[]; li=[0]*z; ls=[s[0]]*z
end=z**z
while 1:
_ for i in range(z):
__ li[i]= (li[i]+1)%z
__ ls[i]=s[ li[i] ]
__ if li[i]: break
_ list.append(''.join(ls) )
_ if len(list) >= end: break

print list

Deftrue


репутация:
на сайте с 1970 года
сообщений:

#5

watt, вообще что то не то получилось у тебя , факториал четырех равен 24 , т.е. Слов будет 24 , а у тебя их там целая куча. Вообщем не правильно.
-------------
добавлено в 08.26: Sveark, у тебя правильно всё)

watt


репутация:
на сайте с 1970 года
сообщений:

#6

Ну у меня перебор идет от aaaaa до eeeee, нетот вставил smile
Вот нужный:

ls=[]
def doo(s,d=''):
global ls
for i in range(len(s)):
  b=s[i+1:]+s[:i]
  if len(d)==4: ls.append(d+s[i])
  doo(b,d+s[i])
doo('abcde')

Deftrue


репутация:
на сайте с 1970 года
сообщений:

#7

Вот задача сложнее:
Имеется изображение, нужно к нему применить эффект сглаживания , либо поиска граней.
Мой код работает как то медленно, если получится увеличить скорость работы, то скрипт можно добавить в image designer.

d(-_-)b


репутация: 168
на сайте с 2008 года
сообщений: 122

Возраст - 33

#8

у кого есть время, помогите плиз, цель следующая: дается дерриктория, необходимо создать список из путей всех файлов что есть в этой папке.
У меня не получается следующее - я заранее не знаю уровней в глубину у этой папке, поэтому не знаю как пройтись по всем вложенным папкам...у кого есть время и идеи, постучитесь плиз в аську, оч буду благодарен =)

d(-_-)b


репутация: 168
на сайте с 2008 года
сообщений: 122

Возраст - 33

#9

еще один вопросик...у объекта appuifw.Text можно как нибудь изменить цвет фона? Или этот цвет можно задать ещё где-то...

JOIN_ME


репутация:
на сайте с 1970 года
сообщений:

#10

Deftrue,
накладываешь четырежды (или 8х с углами) свою картинку со сдвигом на пиксель в каждую сторону и прозрачностью какая лучше подойдет.

-------------
добавлено в 23.13:
d(-_-)b,

import cfileman
os2 = cfileman.FileMan()
def scan(dir):
  _res = os2.listdir(dir)
  return [j for i in _res[0] for j in scan(dir + i + u'\\')] + [dir + f for f in _res[1]]

scan('твой_путь_к_папке')


Текст - нельзя, можно лишь подсветить.


Напомнить пароль