Python. Проекты для практики.

Чтобы стать опыт­ным про­грам­ми­стом, нуж­но прак­ти­ко­вать­ся. Есть мно­го за­бав­ных и ин­те­рес­ных про­ек­тов Python для на­чи­на­ю­щих. Эти про­ек­ты поз­во­ля­ют вам со­зда­вать что-то по­лез­ное, изу­чая этот ве­сё­лый язык про­грам­ми­ро­ва­ния.

Кни­ги и ви­део мо­гут толь­ко до­ве­сти ва­ши зна­ния до опре­де­лён­но­го уров­ня. Луч­ший спо­соб от­то­чить свои на­вы­ки — бро­сить вы­зов са­мо­му се­бе. Стань­те луч­ше, со­зда­вая про­ек­ты, та­кие как про­ек­ты Python для но­вич­ков в спис­ке ни­же.

Те­перь при­шло вре­мя про­ве­рить эти зна­ния и на­чать со­вер­шен­ство­вать свой опыт про­грам­ми­ро­ва­ния с про­ек­та­ми Python.

Про­ек­ты Python для на­чи­на­ю­щих раз­ра­бот­чи­ков: иг­ры и ис­пы­та­ния

Го­во­рят, что прак­ти­ка ве­дёт к со­вер­шен­ству. И ни­кто не станет экс­пер­том ни в чём, по­ка не от­ра­бо­та­ет бо­лее 10 000 ча­сов. Это мо­жет по­ка­зать­ся устра­ша­ю­щим, но не рас­стра­и­вай­тесь. Эти про­стые иг­ры и за­да­ния по­мо­гут по­вы­сить ва­ше по­ни­ма­ние и уве­рен­ность.

Чтобы узнать боль­ше об иг­ро­вых иде­ях, за­гля­ни­те в ви­ки PyGame, там вы най­дё­те боль­ше ру­ко­водств по Python и нач­ни­те вво­дить текст в этой ко­манд­ной стро­ке.

Иг­ра ка­мень, нож­ни­цы, бу­ма­га

Од­на из са­мых лю­би­мых игр всех вре­мён и про­стой про­ект на Python для про­вер­ки ва­ших на­вы­ков. Нач­ни­те с иг­ры иг­рок про­тив ком­пью­те­ра. Ис­поль­зу­е­мые на­вы­ки: луч­шее по­ни­ма­ние цик­лов while и опе­ра­то­ров if.

Со­здай­те бо­та для Twitter

Хо­ти­те при­влечь сво­их под­пис­чи­ков в Twitter, да­же ко­гда вы ра­бо­та­е­те в ав­то­ном­ном ре­жи­ме над дру­ги­ми про­ек­та­ми? Для это­го вам нуж­но бу­дет за­ре­ги­стри­ро­вать­ся как раз­ра­бот­чик Twitter, но не вол­нуй­тесь, это не так слож­но, как вы ду­ма­е­те.

Уга­дай чис­ло

Это мо­жет быть за­бав­ный про­ект Python для групп или ме­ро­при­я­тий, где необ­хо­дим слу­чай­ный ге­не­ра­тор. Это по­лез­но для про­ве­де­ния ло­те­рей, на­столь­ных игр или про­сто уга­ды­ва­ния слу­чай­но­го чис­ла меж­ду иг­ро­ка­ми. Ис­поль­зу­е­мые на­вы­ки: зна­ком­ство со слу­чай­ной функ­ци­ей, пе­ре­мен­ны­ми, це­лы­ми чис­ла­ми, пе­ча­тью, if / else и цик­ла­ми while.

Ге­не­ра­тор MadLibs

Помни­те ту иг­ру, в ко­то­рую мы иг­ра­ли в дет­стве? Иг­ра, в ко­то­рой мы встав­ля­ли глу­пые сло­ва в про­бе­лы и ис­те­ри­че­ски сме­я­лись, ко­гда нам их за­чи­ты­ва­ли?

С ге­не­ра­то­ром Mad Libs вы мо­же­те пе­ре­жить эти ве­сё­лые мо­мен­ты за­но­во. Этот ге­не­ра­тор поз­во­ля­ет вам ра­бо­тать над ши­ро­ким спек­тром на­вы­ков Python. Ис­поль­зу­е­мые на­вы­ки: стро­ки, пе­ре­мен­ные, кон­ка­те­на­ция, пе­чать.

Па­лач

По­доб­но ге­не­ра­ции слу­чай­но­го чис­ла, эта иг­ра Python за­ме­ня­ет сло­во там, где поль­зо­ва­тель уга­ды­ва­ет бук­вы. Вам так­же нуж­но бу­дет со­здать счёт­чик, чтобы под­счи­тать ко­ли­че­ство уга­дан­ных непра­виль­ных букв. Ис­поль­зу­е­мые на­вы­ки: слу­чай­ная биб­лио­те­ка, ло­ги­че­ское зна­че­ние, ввод / вы­вод, сим­вол, стро­ка и дли­на.

Ге­не­ра­тор па­ро­лей

Со­здай­те ге­не­ра­тор слу­чай­ных па­ро­лей для сво­их дру­зей и се­мьи, чтобы обез­опа­сить их учёт­ные за­пи­си! Ис­поль­зу­е­мые на­вы­ки: Слу­чай­ная биб­лио­те­ка и по­сле­до­ва­тель­ность.

Ро­ли­ко­вые ко­сти

По­доб­но иг­ре «Уга­дай чис­ло» вы­ше, по­стро­е­ние ро­ли­ка для ко­сти мож­но ис­поль­зо­вать для игр. Или вы мо­же­те сде­лать шар, по­хо­жий на Magic 8-Ball, чтобы от­ве­тить на са­мые важ­ные во­про­сы! Ис­поль­зу­е­мые на­вы­ки: Слу­чай­ная биб­лио­те­ка, пе­чать, цик­лы.

Тек­сто­вое при­клю­че­ние

Этот про­ект Python пред­став­ля­ет со­бой про­стую иг­ру-квест, в ко­то­рой поль­зо­ва­тель мо­жет хо­дить по раз­ным ком­на­там и по­лу­чать опи­са­ние каж­дой из них. Вы уста­но­ви­те огра­ни­че­ния на то, как да­ле­ко хо­дят пер­со­на­жи, в их на­прав­ле­нии и как от­сле­жи­вать их ме­сто­по­ло­же­ние. Ис­поль­зу­е­мые на­вы­ки: пе­ре­мен­ные, стро­ки, ввод / вы­вод, if / else, пе­чать и спи­сок.

Сек­рет­ный шифр

Со­зда­вай­те и рас­шиф­ро­вы­вай­те сек­рет­ные шиф­ры. Это хо­ро­шо ра­бо­та­ет с то­ва­ри­щем-про­грам­ми­стом, ко­гда один из вас со­зда­ёт шифр, а дру­гой рас­шиф­ро­вы­ва­ет сек­рет­ное со­об­ще­ние. Ис­поль­зу­е­мые на­вы­ки: Ме­то­ды шиф­ро­ва­ния.

Про­ек­ты Python для про­дви­ну­тых раз­ра­бот­чи­ков Python

На­ко­нец, сле­ду­ю­щий шаг к про­вер­ке ва­ших на­вы­ков раз­ра­бот­чи­ка Python — это про­дви­ну­тые про­ек­ты. Эти про­ек­ты бе­рут на се­бя бо­лее необыч­ные ас­пек­ты про­грам­ми­ро­ва­ния и раз­ра­бот­ки.

е вол­нуй­тесь, ес­ли вы бо­ре­тесь с по­доб­ны­ми про­ек­та­ми, да­же у опыт­ных раз­ра­бот­чи­ков есть про­бле­мы с рас­ши­рен­ны­ми про­грам­ма­ми. Про­сто не то­ро­пи­тесь и по­ста­рай­тесь узнать что-то но­вое с каж­дым из них.

Со­здать MP3-пле­ер

При­шло вре­мя от­ка­зать­ся от ком­пакт-дис­ков и на­чать ра­бо­ту над соб­ствен­ным MP3-пле­е­ром. Этот про­ект Python вклю­ча­ет со­зда­ние ин­стру­мен­та для вос­про­из­ве­де­ния аудио­фай­лов. Де­ло в том, чтобы со­здать поль­зо­ва­тель­ский ин­тер­фейс, ими­ти­ру­ю­щий физи­че­ский му­зы­каль­ный про­иг­ры­ва­тель. По­сле за­вер­ше­ния у вас бу­дет MP3-пле­ер, ко­то­рый бу­дет ра­бо­тать на ва­шем ком­пью­те­ре или но­ут­бу­ке.

Про­грам­ма вик­то­ри­ны

Под­ни­ми­те свои на­вы­ки Python на но­вый уро­вень, со­здав при­ло­же­ние-вик­то­ри­ну. При­ло­же­ния-вик­то­ри­ны за­да­ют поль­зо­ва­те­лям се­рию во­про­сов и да­ют им воз­мож­ность от­ве­тить. За­тем вик­то­ри­на да­ёт поль­зо­ва­те­лю ре­зуль­та­ты.

По­экс­пе­ри­мен­ти­руй­те с ва­шим при­ло­же­ни­ем. Раз­ра­бо­тай­те тест, ко­то­рый бу­дет от­ве­чать сра­зу же по­сле то­го, как поль­зо­ва­тель даст от­вет. За­тем со­здай­те вик­то­ри­ну, в ко­то­рой поль­зо­ва­те­ли по­лу­ча­ют ре­зуль­та­ты толь­ко по­сле за­вер­ше­ния вик­то­ри­ны. Вы да­же мо­же­те по­ста­вить тай­мер на вик­то­ри­ну для каж­до­го во­про­са.

Тест на на­бор тек­ста

Со­зда­ние те­ста на­бо­ра тек­ста на Python поз­во­ля­ет раз­ра­бо­тать уни­каль­ную про­грам­му. Он про­ве­ря­ет ско­рость на­бо­ра тек­ста, поз­во­ля­ет со­здать гра­фи­че­ский ин­тер­фейс и да­ёт слу­чай­ное пред­ло­же­ние. Это слож­ный про­ект, но он мно­го­му вас на­учит в ди­зайне.

На­чаль­ные про­ек­ты Python для на­у­ки о дан­ных

Вот спи­сок бес­плат­ных про­ек­тов Python для на­чи­на­ю­щих, в ко­то­рых вы обя­за­тель­но най­дё­те что-то, что за­ин­три­гу­ет вас и по­бу­дит коп­нуть глуб­же. С их по­мо­щью вы мо­же­те со­здать ви­зу­аль­но по­тря­са­ю­щий про­ект струк­ту­ры дан­ных, чтобы пред­ста­вить его од­но­класс­ни­кам, дру­зьям, кол­ле­гам или ко­му-ли­бо ещё!

Кон­цеп­ции крип­то­гра­фии для на­чи­на­ю­щих Python

За­пи­ра­ние зад­них две­рей с по­мо­щью про­ек­тов шиф­ро­ва­ния Python. В Cryptopals есть несколь­ко за­бав­ных за­дач для про­вер­ки ва­ших на­вы­ков крип­то­гра­фии. Та­кие за­да­чи, как пре­об­ра­зо­ва­ние шест­на­дца­те­рич­но­го ко­да в base64, фик­си­ро­ван­ный XOR, од­но­бай­то­вый шифр XOR, пре­ры­ва­ние XOR с по­вто­ря­ю­щим­ся клю­чом и мно­гое дру­гое для на­ча­ла. Эти за­да­чи бу­дут по­сте­пен­но услож­нять­ся, так что вы, ве­ро­ят­но, бу­де­те воз­вра­щать­ся сно­ва и сно­ва.

Ав­то­ма­ти­зи­руй­те скуч­ные за­да­чи с по­мо­щью про­ек­тов Python для на­чи­на­ю­щих

Эко­номь­те вре­мя, ав­то­ма­ти­зи­руя за­да­чи с по­мо­щью про­ек­тов Python.

Не бу­дем здесь при­укра­ши­вать. Ино­гда про­грам­ми­ро­ва­ние на Python вклю­ча­ет несколь­ко за­дач, ко­то­рые мо­гут по­ка­зать­ся ру­тин­ны­ми и по­вто­ря­ю­щи­ми­ся. К сча­стью, вы мо­же­те ав­то­ма­ти­зи­ро­вать мно­же­ство этих скуч­ных за­дач, осво­бож­дая вас для ра­бо­ты над бо­лее важ­ны­ми за­да­ча­ми.

Сэко­номь­те вре­мя, ав­то­ма­ти­зи­руя та­кие ве­щи, как:

  • По­иск тек­ста в фай­ле или в несколь­ких фай­лах;
  • Раз­де­ле­ние, из­вле­че­ние тек­ста, объ­еди­не­ние, до­бав­ле­ние во­дя­ных зна­ков и шиф­ро­ва­ние PDF-фай­лов;
  • От­пра­вить на­по­ми­на­ния по элек­трон­ной по­чте и тек­сто­вые со­об­ще­ния;
  • Со­зда­вать, об­нов­лять, пе­ре­ме­щать и пе­ре­име­но­вы­вать фай­лы и пап­ки;
  • Об­нов­ле­ние и фор­ма­ти­ро­ва­ние дан­ных в таб­ли­цах Excel;
  • За­пол­ни­те он­лайн-фор­мы;
  • По­иск в Ин­тер­не­те и за­груз­ка он­лайн-кон­тен­та.

Су­ще­ству­ет бес­плат­ный сайт под на­зва­ни­ем Automate the Boring Stuff, где вы мо­же­те про­смат­ри­вать эти и дру­гие те­мы. Вы так­же мо­же­те ку­пить кни­гу для даль­ней­ше­го ис­поль­зо­ва­ния.

Ес­ли вам нуж­ны до­пол­ни­тель­ные ре­ко­мен­да­ции по от­та­чи­ва­нию на­вы­ков про­грам­ми­ро­ва­ния, озна­комь­тесь с учеб­ны­ми кур­са­ми по про­грам­ми­ро­ва­нию. Кур­сы мо­гут улуч­шить ва­ши на­вы­ки про­грам­ми­ро­ва­ния и зна­ния! Кур­сы для на­чи­на­ю­щих по ко­ди­ро­ва­нию — от­лич­ный ва­ри­ант для лю­дей, у ко­то­рых мо­жет не быть вре­ме­ни и де­нег, чтобы по­свя­тить се­бя про­грам­ме по­лу­че­ния сте­пе­ни. Фак­ти­че­ски, неко­то­рые кур­сы для на­чи­на­ю­щих по ко­ди­ро­ва­нию да­же пред­ла­га­ют­ся бес­плат­но.

С эти­ми за­бав­ны­ми иде­я­ми про­ек­та Python вы мо­же­те по­лу­чить важ­ные прак­ти­че­ские на­вы­ки ра­бо­ты с Python, ра­бо­тая над ра­бо­той сво­ей меч­ты. Нач­ни­те с ма­ло­го и ра­бо­тай­те с умом. На­ко­нец, вы­бе­ри­те про­ект, ко­то­рый, по ва­ше­му мне­нию, вы мо­же­те вы­пол­нить сей­час, и про­дол­жай­те на­ра­щи­вать свои зна­ния, прак­ти­ку­ясь с но­вы­ми про­ек­та­ми.

Ис­точ­ник