Nieuws:

We zijn er weer.

Na lange tijd van afwezigheid zijn we er weer  :laugh:
We hebben alle wachtwoorden gereset, je oude wachtwoord werkt niet meer.Je moet via het "wachtwoord vergeten"-linkje je wachtwoord resetten. Je krijgt hiervoor een mailtje op het adres dat je bij ons geregistreerd hebt.

De komende tijd zijn we nog druk bezig om de rest van de site op te bouwen, dus het kan zijn dat sommige onderdelen (tijdelijk) niet werken.

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: OPGELOST Python probleempje  (gelezen 919 keer)

Offline BaukeP

  • Lid
  • Steunpunt: Nee
OPGELOST Python probleempje
« Gepost op: 2009/09/07, 21:39:31 »
Hallo,

Ik probeer een beetje Python te leren. Er staat veel materiaal op internet maar wat ik wil kan ik natuurlijk niet vinden. Voor een doorgewinterde Python gebruiker is het een fluitje van een cent (neem ik aan).

Ik heb al het volgende:

#!/usr/bin/env python
import gtk
clipboard = gtk.clipboard_get()

lijst ={1:"weinig",2:"iets",3:"iets meer",4:"Vier",5:"Vijf"}

nr1=raw_input('Eerste getal: ')
nr2=raw_input('Tweede getal: ')

print (lijst[int(nr1)]+lijst[int(nr2)])      #ter controle
clipboard.set_text(lijst[int(nr1)]+lijst[int(nr2)])
clipboard.store()

Lijst is voorbeeld; de echte bevat ruim 200 combinaties. Is misschien een betere oplossing voor?
 
Dit werkt prima, maar alleen als ik dit proef.py betand in de terminal uitvoer.

Wat ik wil is of in de terminal of in Alt-F2 kunnen intikken van: code 1,4 of code (1,4)
en dan het verwachte antwoord krijgen (in het clipboard).

Het is duidelijk dat ik ergens iets mis. Maar wat en hoe?

Graag een beetje hulp

Alvast weer bedankt

Bauke
« Laatst bewerkt op: 2009/09/08, 06:50:13 door BaukeP »

Offline Nunslaughter

  • Lid
    • timovwb
  • Steunpunt: Nee
Re: Python probleempje
« Reactie #1 Gepost op: 2009/09/07, 21:55:04 »
Niet getest, maar zoiets?

Starten met: proef.py 1 4

#!/usr/bin/env python
import sys
import gtk
clipboard = gtk.clipboard_get()

lijst ={1:"weinig",2:"iets",3:"iets meer",4:"Vier",5:"Vijf"}

uitkomst = lijst[int(sys.argv[1])]+lijst[int(sys.argv[2])]
print (uitkomst)      #ter controle
clipboard.set_text(uitkomst)
clipboard.store()

Offline Ronnie

  • Artworkteam
    • ronnie.vd.c
  • Steunpunt: Nee
Re: Python probleempje
« Reactie #2 Gepost op: 2009/09/07, 22:01:06 »
#!/usr/bin/env python
import gtk
import sys

clipboard = gtk.clipboard_get()

#lijst ={1:"weinig",2:"iets",3:"iets meer",4:"Vier",5:"Vijf"}
lijst = ["weinig", "iets", "iets meer", "Vier", "Vijf"]

if len(sys.argv) == 1:
    nr1=int(raw_input('Eerste getal: '))
    nr2=int(raw_input('Tweede getal: '))
elif len(sys.argv) > 2:
    nr1=int(sys.argv[1])#raw_input('Eerste getal: ')
    nr2=int(sys.argv[2])#raw_input('Tweede getal: ')
    print (lijst[nr1]+lijst[nr2])      #ter controle
    clipboard.set_text(lijst[nr1]+lijst[nr2])
    clipboard.store()
else:
    print("Not enough arguments")

Opmerking:
lijst kan beter een type lijst [] zijn, als je toch alleen maar opeenvolgende getallen gebruikt.

Om nu het bestand benaderbaar te maken met bijv ALT+F2 moet je een aantal stappen volgen
#maakt het bestand uitvoerbaar
chmod +x /pad/naar/file.py

#maak een symbolische koppeling naar de map /usr/bin zodat het systeem het programma kan vinden
sudo ln -s /pad/naar/file.py /usr/bin/programmanaam
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Documentatie Terminal

Offline BaukeP

  • Lid
  • Steunpunt: Nee
Re: Python probleempje
« Reactie #3 Gepost op: 2009/09/07, 23:04:03 »
Heren,

Hartelijk dank. Werkt als een zonnetje!

Bauke