Gå til innhold

Forslag til oppgåver til nybyrjar.


Anbefalte innlegg

God kveld! :)

 

Eg har lært ganske mykje no, og har kome til kap. 9 i beginning python, og eg lurte på om nokon kunne lage eit par oppgåver til meg, om de har litt tid til overs. Eg har innføring i OOP, lister, loopar, LC, exceptions og if/else.

 

Eg ville vere takknemleg om nokon kunne ta seg tid til det, sidan eg lærer tre gonger så fort når eg får arbeide med noko. :)

Lenke til kommentar
Videoannonse
Annonse

Regner med at målet er å lære noe nytt :) Skal prøve å tenke ut noen oppgaver som du/dere kan prøve dere på.

 

Socket:

1. Lag din egen P2P chat protocol med bruk av socket. Du vil få endel socket og string kunskap og du må drive litt problemløsninger :)

 

Hint:

MSG "bruker" "melding"\r\n

 

2. Prøv å lag en statisk webserver (som f.eks sender et bilde). HTTP spec

 

Skal poste noen andre ikke socket relaterte oppgaver i morgen. Når jeg er mer uthvilt og kan tenke på noen fornuftige oppgaver :p. Kom gjerne med ønske på teamer osv, da det er viktig at du lærer det du har lyst til å lære :)

Lenke til kommentar

Forresten, sit og tenkjer på opg. 1 du gav, hotstian. Når ein skal sjekke om det fyrste ordet t.d er "MSG", finst det ein måte å gjere det på utan å måtte seie:

if command[0] == "M":
 if command[1] == "S":
	   if command[2] =="G":
else: print "Unknown command"

Endret av Arne
Lenke til kommentar
Gjest Slettet-df17e

Du burde sette deg litt bedre inn i den elementære delen av Python, Arne.

 

if command.startswith('MSG'):
 # Gjøre noe rart
else:
print 'Unknown command'

 

Du har også "endswith()".

Lenke til kommentar

DU kan jo også bruke "commands = command.split(' ')".

 

Skal gi deg en litt lettere oppgave. Lag en dagbok, personen kan skrive inn ting som har skjed og hente dem fram (kanskje en menu eller noe?) fra ei fil.

 

Noe slikt kanskje:

>>>Hva vil du gjøre idag (skrive, lese, slette)?

<<<skrive

>>><en eller annen tekst>:

<<<<melding>

 

Hvordan du velger å organisere programmet osv er vel nesten en del av utfordringen, lykke til :)

Lenke til kommentar

Det var ein god ide, tusen takk, stian! :)

Skal prøve å gjere det slik at ein kan lese ein melding, og då må ein taste inn meldingsnummeret. Eller så kan ein lese alle meldingane som er, og då ser ein jo kva nummer alle meldingane har. Då kan ein gå inn på slette, og så skriv ein inn nummeret på meldinga.

 

Får prøve på det i alle fall, høyres ikkje så fryktelig avansert ut.

 

EDIT: NVM, eg fann xfire.

Endret av Arne
Lenke til kommentar

Tror de fleste bruker innrykk som tilsvarer 4 mellomrom.

 

Fant noe ang. dette:

 

 

Myth: "You cannot safely mix tabs and spaces in Python."

 

That's right, and you don't want that. To be exact, you cannot safely mix tabs and spaces in C either -- if you move a piece of C source to an editor with different tabstops, it will all look wrong (and possibly behave differently than it looks at first sight).

 

Therefore, it is generally a good idea not to mix tabs and spaces for indentation. If you use tabs only or spaces only, you're fine.

 

Furthermore, it can be a good idea to avoid tabs alltogether, because the semantics of tabs are not very well-defined in the computer world, and they can be displayed completely differently on different types of systems and editors. Also, tabs often get destroyed or wrongly converted during copy&paste operations.

 

Most good editors support transparent translation of tabs, automatic indent and dedent. That is, when you press the tab key, the editor will insert enough spaces (not actual tab characters!) to get you to the next position which is a multiple of eight (or four, or whatever you prefer), and some other key (usually Backspace) will get you back to the previous indentation level.

 

In other words, it's behaving like you would expect a tab key to do, but still maintaining portability by using spaces in the file only. This is convenient and safe.

 

Kilde: http://www.secnetix.de/olli/Python/block_indentation.hawk

 

 

Endret av teveslave
Lenke til kommentar
Nei, no missforstår du. Når eg skal skrive python, og eg skal rykke inn noko i t.d ein if, skal eg bruke 8 mellomrom då? I staden for ein tab?

Du kan bruke én tab. Du kan bruke 8 mellomrom, du kan bruke 4 mellomrom og du kan bruke 1 mellomrom. Så lenge det er innrykk er det lov. Og du må ha samme innrykk for en block. Har du en editor som forstår Python så trenger du ikke tenke på dette.

 

Og forresten; bruke du noe annet enn 4 mellomrom så slår jeg deg hardt i hodet.

 

PEP-8 er fin å støtte seg til: http://www.python.org/dev/peps/pep-0008/

Lenke til kommentar

Beklager at jeg misforsto deg i stad. Leste litt for fort.

 

I Python kan du bruke tab og space, bare det er et inntrykk på en eller annen måte.

 

Eks:

if True:
print "ok" # space-1
if True:
 print "ok2" # space-2
if True:
print "ok3" # space-4
if True:
	print "ok4" # space-8

Dette eksemplet vil printe alle ok'ene. Du kan seffølgelig også bruke vanlig tab inntrykk, men helst hold deg til en stil. Personlig liker jeg tab og space-4.

Lenke til kommentar

No er eg nesten ferdig med oppgåva (60 linjer), men eg lurer på ein ting. Når eg har skrive til gjesteboka, så går det ikkje an å lese innlegga mine før eg restartar programmet. Ja, eg stenger fila. Men når eg restartar programmet, kan eg lese innlegget.

 

Når eg fylgjer med på fil-innhaldet undervegs når eg skriv, så ser eg at innhaldet eg skriv vert skriven til fila, så alt i skrive-prosessen er OK.

 

Det som er problemet er at eg ikkje kan lese av det eg nettopp har skrive utan å restarte programmet. Men eg kan fritt lese det eg har skrive frå før.

Lenke til kommentar

Det skal eg prøve på!

Klassen heiter då diary, eg vil ha ein self.filepath som ein evt. kan setje frå main-delen av programmet, slik at ein kan bestemme sjølv kvar ein vil lagre innhaldet. Og så har eg fire metoder, diary.read(), diary.delete(), diary.write() og diary.end().

 

Dette kan bli bra, lukke til! Forresten, tips til oppgåver? Har god tid i romjula! :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...