Python projektit, ongelmat ja esimerkkikoodit (copy)

Muu yhteisön välinen keskustelu.
Post Reply
Image
Member
Posts: 59
Joined: Sat May 09, 2009 3:28 pm

Python projektit, ongelmat ja esimerkkikoodit (copy)

Post by Image »

Sama juttu kun tuossa toisessa topikissa, eli tänne voisi liitellä pythoniin liittyviä koodeja ja ilmoitella projekteista ynms ynms. Itse olen muutaman viikon harjoitellut ja on yks jännä peli suunniteilla mut nännä en kerro enempää :D E. Nyt myös onkelmii tänne eli mulla ois tämmönen. Kun tallennan ohjelmani ja käynnistän sen ikkuna vain nopeasti vilahtaa mutta kerkeän nähdä siinä olevan tekstin.. Apuja?
User avatar
esa94
Guru
Posts: 1855
Joined: Tue Sep 04, 2007 5:35 pm

Re: Python projektit, ongelmat ja esimerkkikoodit (copy)

Post by esa94 »

Image wrote:Sama juttu kun tuossa toisessa topikissa, eli tänne voisi liitellä pythoniin liittyviä koodeja ja ilmoitella projekteista ynms ynms. Itse olen muutaman viikon harjoitellut ja on yks jännä peli suunniteilla mut nännä en kerro enempää :D E. Nyt myös onkelmii tänne eli mulla ois tämmönen. Kun tallennan ohjelmani ja käynnistän sen ikkuna vain nopeasti vilahtaa mutta kerkeän nähdä siinä olevan tekstin.. Apuja?
Ohjelmassasi ei ole mitään komentoa, joka jäisi odottamaan näppäimenpainallusta...
Viltzu
Guru
Posts: 1132
Joined: Sun Aug 26, 2007 5:45 pm
Location: Alavieska
Contact:

Re: Python projektit, ongelmat ja esimerkkikoodit (copy)

Post by Viltzu »

Code: Select all

#-*- coding: latin1 -*-
#Coding set to latin1 so A and O work with two dots (Ä and Ö)

#Import library
import socket
irc = socket.socket ( socket.AF_INET, socket.SOCK_STREAM )
#Connect to server
irc.connect ( ( 'irc.cs.tut.fi', 6667 ) )
#Print data what comes from IRCnet
print irc.recv ( 4096 )

#Send information of bot to IRCnet. Change information like you want
irc.send ( "NICK BotNick\r\n" )
irc.send ( 'USER username hostname servername :First_Name Last_Name\r\n' )
#Join channel. Change channel what you want
irc.send('JOIN #Channel\r\n')

while True:
    
    #Put to var 'data' the data what comes from irc server
    data = irc.recv ( 4096 )
    #If IRCnet send 'PING' then send back 'PONG'
    if data.find ( 'PING' ) != -1:
        irc.send ( 'PONG ' + data.split() [ 1 ] + '\r\n' )

            
    #If find 'PRIVMSG' in var 'data' then...
    if data.find ( 'PRIVMSG' )  != -1:
        #Message what have someone said
        message = data.split(':')[2].lower()
        
        #Channel where the message was said
        destination = ''.join ( data.split ( ':' ) [ :2 ] ).split ( ' ' ) [ -2 ]

        #Host of person who said the message
        host = data.split()[0].split('!')[1].replace(':','').lower()

        #Person's nick.
        nick = data.split('!')[0].split(':')[1]

        #If find X from 'message' variable then sendback X
        if message.find ('hi') != -1:
            irc.send('PRIVMSG #Channel :Hello!\r\n')
            #If you replace #Channel with destination, it will send hello
            #To there where someone has said hi. Now it will sen always to
            #Channel #Channel even if someone has said "hi" on another channel.


#Print data all the time
print data
Tuossa joskus tekemäni esimerkki Arskalle ircbotista Pythonilla. "Something" Umh... En tuolloin ollut selvittänyt mitä nuo ovat, mutta tietääkseni ensimmäinen on "tunnus". En kyllä nytkään sen syvemmin noita ole selvittänyt. :P Mutta kaksi viimeistä "Something":ia ei taideta käyttää nykyään niin.
EDIT:

Joo Sami345, laitoin tuonne. Todellakin kaikki jotka aikovat jotakin IRC-botteja, clienttejä tai jotakin muuta, niin opetelkaa se IRC-protokolla.

Last edited by Viltzu on Tue Dec 08, 2009 6:50 pm, edited 1 time in total.
Sami345
Advanced Member
Posts: 349
Joined: Fri Aug 31, 2007 4:52 pm
Contact:

Re: Python projektit, ongelmat ja esimerkkikoodit (copy)

Post by Sami345 »

Viltzu wrote:

Code: Select all

koodia...
Tuossa joskus tekemäni esimerkki Arskalle ircbotista Pythonilla. "Something" Umh... En tuolloin ollut selvittänyt mitä nuo ovat, mutta tietääkseni ensimmäinen on "tunnus". En kyllä nytkään sen syvemmin noita ole selvittänyt. :P Mutta kaksi viimeistä "Something":ia ei taideta käyttää nykyään niin.
Täältä löytyy apua IRC-protokollaan. Tuolta esimerkiksi selviää, että USER ottaa parametreiksi: <username> <hostname> <servername> <realname>
Projektit: Fiperus - Jäädytetty pidemmäksi aikaa.
Voitot: Viikkokisa XIII, Pikapelikisa 3, Pikapelikisa 13
http://www.sami345.tk/
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm

Re: Python projektit, ongelmat ja esimerkkikoodit (copy)

Post by Koodiapina »

Tuo on kyllä vanhentunut ja puutteellinen opas. Uudempaa settiä löytyy täältä.
tjsdffdgdsfdfsgdfd

Re: Python projektit, ongelmat ja esimerkkikoodit (copy)

Post by tjsdffdgdsfdfsgdfd »

Ja olisiko mitään hyvä peliohjelmointi opasta Pythonille?
Awaclus
Forum Veteran
Posts: 2939
Joined: Tue Aug 28, 2007 2:50 pm

Re: Python projektit, ongelmat ja esimerkkikoodit (copy)

Post by Awaclus »

tjsdffdgdsfdfsgdfd wrote:Ja olisiko mitään hyvä peliohjelmointi opasta Pythonille?
Ei ole vielä Grandia näkynyt, niin varastan sen linen:

On.
Image
Member
Posts: 59
Joined: Sat May 09, 2009 3:28 pm

Re: Python projektit, ongelmat ja esimerkkikoodit (copy)

Post by Image »

Mitä vikaa? :D

Code: Select all

# -*- coding: cp1252 -*-
# Filename: lista.py

#Ostoslistan määrittely
lista = ['omena', 'mango', 'porkkana', 'turtana']

print ('Tarvitsen vielä')
print ('Nämä tuotteet ovat:'),
for (tuote) in lista:
print ('tuote'),
print ('\nTarvitsen myös sihijuomaa-')
         lista.append('sihijuoma')
print ('Nyt lista näyttää tältä'), lista
print ('Järjestellään lista')
         lista.sort()
print ('Järjestelty lista on tämän näköinen:'),
print ('Ensimmäinen ostettava tuote on'), lista [0]
         ostettu = lista[0]
         del lista[0]
print ('Ostin tuotteen'), ostettu
print ('Nyt listalla on jäljellä'), lista
Koodiapina
Forum Veteran
Posts: 2396
Joined: Tue Aug 28, 2007 4:20 pm

Re: Python projektit, ongelmat ja esimerkkikoodit (copy)

Post by Koodiapina »

Muista, että Pythonissa sisentäminen kuuluu syntaksiin. Korjattu koodi:

Code: Select all

# -*- coding: cp1252 -*-
# Filename: lista.py

#Ostoslistan määrittely
lista = ['omena', 'mango', 'porkkana', 'turtana']

print ('Tarvitsen vielä')
print ('Nämä tuotteet ovat:'),
for (tuote) in lista:
	print ('tuote'),
	print ('\nTarvitsen myös sihijuomaa-')
	lista.append('sihijuoma')
	print ('Nyt lista näyttää tältä'), lista
	print ('Järjestellään lista')
	lista.sort()
	print ('Järjestelty lista on tämän näköinen:'),
	print ('Ensimmäinen ostettava tuote on'), lista [0]
	ostettu = lista[0]
	del lista[0]
	print ('Ostin tuotteen'), ostettu
	print ('Nyt listalla on jäljellä'), lista
otto90x
Advanced Member
Posts: 349
Joined: Mon Aug 27, 2007 9:00 pm
Location: Lapinjärvi, Finland
Contact:

Re: Python projektit, ongelmat ja esimerkkikoodit (copy)

Post by otto90x »

En tiedä miksi käytät ' merkkejä muuttujan tuote ympärillä, yritätkö muuttaa sen merkkijonoksi? Tuo tapahtuisi funktiolla str(), mutta sekin olisi tässä koodissa turha. Kun käytät tuollaista rakennetta kuin for tuote in lista niin muista että tuote itseasiassa on vuorollaan kukin listan jäsen. Eli ensin se on 'omena' sitten 'mango' jne. siispä vain tulostamme mitä tuote on kullakin kerralla.

Tässä jotenkin järkevä versio:

Code: Select all

# -*- coding: cp1252 -*-
# Filename: lista.py

#Ostoslistan määrittely
lista = ['omena', 'mango', 'porkkana', 'turtana']

print ('Tarvitsen vielä')
print ('Nämä tuotteet ovat:'),
for tuote in lista:
    print (tuote),
print ('\nTarvitsen myös sihijuomaa-')
lista.append('sihijuoma')
print ('Nyt lista näyttää tältä'), lista
print ('Järjestellään lista')
lista.sort()
print ('Järjestelty lista on tämän näköinen:'),
print ('Ensimmäinen ostettava tuote on'), lista [0]
ostettu = lista[0]
del lista[0]
print ('Ostin tuotteen'), ostettu
print ('Nyt listalla on jäljellä'), lista
Otto Martikainen a.k.a. MetalRain, otto90x, kAATOSade.
Runoblogi, vuodatusta ja sekoiluja.
huuui

Re: Python projektit, ongelmat ja esimerkkikoodit (copy)

Post by huuui »

Chaosworm wrote:
tjsdffdgdsfdfsgdfd wrote:Ja olisiko mitään hyvä peliohjelmointi opasta Pythonille?
Ei ole vielä Grandia näkynyt, niin varastan sen linen:

On.
Mistäs sit tollaisen sais?
Post Reply