2010-07-10 13 views
37

Beh, per entrare nel flusso delle cose con Python. Leggendo alcuni libri, trovarlo abbastanza facile dato che ho già qualche esperienza con C++/Java da scuola e Python è sicuramente il mio preferito fino ad ora.Principiante pratica Python?

In ogni caso, sto ottenendo un sacco di informazioni su Python, ma non lo sto mettendo a frutto. Quindi, quello che mi stavo chiedendo è se ci sono problemi di pratica online che posso usare? Se qualcuno potesse indicarmi in qualsiasi tipo di direzione, lo apprezzerei molto.

+0

www.projecteuler.net –

+4

possibile duplicato di [? Dove posso trovare buone prassi problemi pitone con soluzioni] (http://stackoverflow.com/questions/2657238) o [? Quali sono i tuoi esercizi di programmazione] (http: //stackoverflow.com/questions/6327) o [Esercizi di Python per affinare le tue abilità] (http://stackoverflow.com/questions/29578) o [Problemi pratici per il programmatore principiante] (http://stackoverflow.com/questions/985622) - ci sono già molte domande come questa. – Joey

+0

possibile duplicato di [Dove posso trovare buoni problemi con Python con le soluzioni?] (Http://stackoverflow.com/questions/2657238/where-can-i-find-good-practice-python-problems-with-solutions) –

risposta

31

Troverai un ottimo allenamento per principianti allo http://singpath.com ... il "gioco" è interattivo, ti dà la possibilità di modificare le tue risposte, e gli esercizi sono molto più pratici rispetto alla Sfida Python, inoltre ci sono più livelli per scegli in base al tuo livello di abilità. Soprattutto, divertiti e benvenuto in Python!

ps. la tua esperienza ti mette nel cuore del pubblico target del mio libro Python, Core Python Programming, il cui obiettivo è insegnare Python nel modo più rapido ma più approfondito possibile. recensioni, filosofia e altre informazioni a http://corepython.com

[Aggiornamento Maggio 2013] Ci sono molte alternative Ora, in aggiunta SingPath:

http://codecademy.com/tracks/python

http://codingbat.com/python

http://pythontutor.com

http://learnpython.org

http://pyschools.com

http://learnstreet.com/lessons/study/python [giugno 2015 UPDATE: defunta ... vedi this]

+0

+1 per singpath. Ottima pratica per principianti. –

+6

-1 per Singpath, questa è la cosa più odiosa di sempre, sono sicuro che migliorerà nel tempo, ma non è altro che copiare e incollare le variabili per un po ':-) – ZaBlanc

+3

+1 Per il buon aggiornamento. – keyser

9

Prova Project Euler:

Project Euler è una serie di sfidando problemi di programmazione/informatica matematiche che richiederanno più di semplici intuizioni matematiche da risolvere. Sebbene la matematica sia la che ti aiuta ad arrivare a metodi efficienti e con metodi efficaci , l'uso di un computer e le abilità di programmazione saranno necessarie per risolvere la maggior parte dei problemi.

Il problema è:

aggiungere tutti i numeri naturali sotto i 1000 che sono multipli di 3 o 5.

Questa domanda probabilmente vi introdurrà a Python for-loop e la funzione built-in range() nel minimo. Potrebbe portare a scoprire le comprensioni delle liste, le espressioni del generatore e la funzione incorporata sum().

+3

Sì, i problemi richiedono l'applicazione di algoritmi per produrre buone soluzioni - in realtà non * insegnano * nulla. Per risolverli, devi già avere una buona idea di quello che stai facendo, e l'unico modo per ottenere un feedback su possibili approcci a un problema è risolverlo - non molto utile (in termini di apprendimento) se Sei bloccato su un problema particolare. – Mac

3

The Python Challenge non solo ti permetterà di esercitare il Python che conosci, ma richiederà anche di conoscere diversi pacchetti di terze parti per risolvere alcune delle sfide.

+2

Forse hai perso la parola »principiante« dalla domanda. Anche cose come il PC non sono per tutti. Questi enigmi * sono * molto contorti e non ti insegnano molto sulla programmazione o l'uso di una lingua. – Joey

+0

No, penso che sia giusto essere costretti ad allungare un po ', anche da principiante. Puoi scrivere un generatore principale solo tante volte prima che inizi a essere inutile. –

+2

Ovviamente va bene essere forzati ad allungare un po ', ma questo comporta qualcosa come imparare qualcosa su una nuova lingua, scrivere un programma per soddisfare alcuni requisiti pratici, o guardare attraverso un codice sorgente esistente per vedere come funziona. La Sfida Python non conta. Tutto ciò che fa è "ricompensarti" per indovinare correttamente le intenzioni dell'autore, che è inutile come tecnica di insegnamento. –

2

Ho trovato pitone nel 1988 e me ne sono innamorato. Il nostro gruppo al lavoro era stato sciolto e stavamo cercando altri lavori sul posto, quindi ho avuto un paio di mesi per giocare con tutto ciò che volevo. Ho trascorso il tempo imparando in modo proficuo e usando Python. Ti suggerisco di dedicare tempo a pensare e scrivere utilità e vari strumenti utili. Ora ho 200-300 nella mia libreria di strumenti Python (non riesco nemmeno a ricordarli tutti). Ho imparato Python dal tutorial di Guido, che è un buon punto di partenza (un programmatore C si sentirà come a casa).

python è anche un ottimo strumento per la creazione di modelli: fisico, matematico, stocastico, ecc. Utilizzare numpy e scipy. Inoltre non sarebbe male imparare alcune cose della GUI: ho preso in considerazione wxPython e l'ho imparato, poiché avevo esperienza con wxWidgets in C++. wxPython ha alcune cose dimostrative impressionanti!

+2

Python non è stato rilasciato pubblicamente fino al 1991 - intendevi il 1998? – fmark

1

Ho sempre trovato più semplice imparare una lingua in un dominio problematico specifico. Potresti provare a guardare Django e fare il tutorial. Questo vi darà un'introduzione molto leggera sia per Python che per un framework web (molto ben documentato) che sia al 100% Python.

Quindi, fai qualcosa nel tuo campo di competenza (generazione di grafici o altro) e legalo in un quadro di lavoro per vedere se hai capito bene. Il mio universo tende ad essere linguistica computazionale e ci sono un certo numero di toolkit basati su Python per aiutarti a iniziare. Per esempio. Natural Language Toolkit.

Solo un pensiero.

1

si consiglia di dare un'occhiata al Pyschools, il sito ha un bel po 'di domande di pratica su di programmazione Python.

4

Ho usato http://codingbat.com/. Un ottimo sito Web che non solo richiede una risposta, come Project Euler, ma controlla anche il tuo codice per maggiore robustezza eseguendolo attraverso più test. Richiede un codice molto più ampio di Project Euler, ma è anche molto più semplice della maggior parte dei problemi di Eulero. Ha anche grafici di progresso che sono piuttosto interessanti.

0

Potresti essere interessato a Python interactive tutorial per principianti e utenti avanzati, ha molte pratiche disponibili insieme all'interfaccia interattiva + trucchi avanzati di sviluppo per utenti avanzati.

6

Si potrebbe anche provare CheckIO che è una specie di ricerca in cui devi pubblicare soluzioni in Python 2.7 o 3.3 per spostarti nel gioco. Divertente e ha una grande comunità per domande e supporto.

Dal loro Main Wiki Page:

Benvenuti a CheckIO - un servizio che ha unito tutti i livelli di Python sviluppatori - dai principianti fino ai veri esperti!

Qui puoi imparare la codifica Python, provare te stesso a risolvere vari tipi di problemi e condividere le tue idee con gli altri. Inoltre, è possibile prendere in considerazione soluzioni originali di altri utenti, scambiare opinioni e trovare nuovi amici .

Se si sta appena iniziando con Python - CheckIO è una grande occasione per voi per imparare le nozioni di base e ottenere una pratica ricca di risolvere i diversi compiti . Se sei un programmatore esperto, qui troverai un'emozionante opportunità per perfezionare le tue capacità e apprendere nuove logiche alternative da altri.Su CheckIO puoi non solo risolvere le attività esistenti, ma anche fornire le tue e persino ottenere punti per loro. Divertiti con la possibilità di giocare ai giochi logici, partecipando alle emozionanti competizioni e condividi il tuo successo con gli amici in CheckIO.org!

+1

Ciao, benvenuto in SO. Quando pubblichi risposte che implicano riferimenti ad altri siti, pubblica anche informazioni sul link. Ho modificato il tuo post per ora (dovrebbe essere visibile a breve). Divertiti! –

0

Prova questo sito completo di Python Practice Problemi. Si appoggia a problemi che sono già stati risolti in modo da avere soluzioni di riferimento.

Problemi correlati