Pähkinä_purtavaksi/Pyhon/Tkinter

Velhoille

Pieni pähkinä velhoille.

Pähkinä on siinä, että esimerkissä on kaksi aliohjelmaa joihin kumpaankin syötetään luku. Kuinka voimme saada aliohjelman luvut talteen ja summattavaksi aliohjelmassa kolme. Huomio, että entry ei ole pääohjelmassa, haluan tuon syöttökentän näkyviin vasta kun painetaan painiketta. Tuntuu siltä, että aliohjelma ei muista toisten aliohjelmien arvoja???

Ohjelma voi tehdä virheilmoituksen, kun tuo ensimmäisen rivin tkinter kirjoitetaan eri versiossa isolla kirjaimella!

from tkinter import *

def Eka():
Label(master, text="Syötä numero: ").grid(row=2, column=0)
tuote1 = Entry(master)
tuote1.grid(row=2, column=1)

def Toinen():
Label(master, text="Syötä toinen numero: ").grid(row=3, column=0)
tuote2 = Entry(master)
tuote2.grid(row=3, column=1)

def Kolmas():
Label(master, text="Tähän pitäisi tulla vastastaus: ").grid(row=4, column=0)
a = int(tuote1.get())
b = int(tuote2.get())
c=a b

master = Tk()
master.title("Valikko-ohjelma")
master.geometry("250x250")


Button(master, text='Paina ensin tätä', command=Eka).grid(row=0, column=0, sticky=W, pady=4)
Button(master, text='Seuraavaksi tätä', command=Toinen).grid(row=0, column=1, sticky=W, pady=4)
Button(master, text='Tämän pitäisi laskea luvut yhteen', command=Kolmas).grid(row=0, column=2, sticky=W, pady=4)

6

118

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Velhoille

      mainloop( )

      Jäi lopusta

    • Velhoille

      Olisi tosi tärkeä juttu minulle.

    • toimii-mutta

      from tkinter import *

      def Eka():
      Label(master, text="Syötä numero: ").grid(row=2, column=0)
      global tuote1
      tuote1 = Entry(master)
      tuote1.grid(row=2, column=1)

      def Toinen():
      Label(master, text="Syötä toinen numero: ").grid(row=3, column=0)
      global tuote2
      tuote2 = Entry(master)
      tuote2.grid(row=3, column=1)

      def Kolmas():
      Label(master, text="Tähän pitäisi tulla vastastaus: ").grid(row=4, column=0)
      a = int(tuote1.get())
      b = int(tuote2.get())
      print(a,b)
      c=a b
      Label(master, text=c).grid(row=4, column=1)
      master = Tk()
      master.title("Valikko-ohjelma")
      master.geometry("250x250")

      Button(master, text='Paina ensin tätä', command=Eka).grid(row=0, column=0, sticky=W, pady=4)
      Button(master, text='Seuraavaksi tätä', command=Toinen).grid(row=0, column=1, sticky=W, pady=4)
      Button(master, text='Tämän pitäisi laskea luvut yhteen', command=Kolmas).grid(row=0, column=2, sticky=W, pady=4)
      mainloop( )

      varoitus:
      Korjasin vain toimivaksi. En osaa pythonia ja sen tapoja. Muuttujat eivät näy oletuksena funktioiden ulkopuolelle. Jotenkin pitää tehdä globaaliksi tai välittää muutujien arvot tai osoitteet aliohjelmien kesken.

    • print-lause

      oli testausta varten.

    • Velhoille

      Voi kiitos. On kiva huomata miten fiksuja ihmisiä tällä palstalla on ja vielä avuliaita:-)

    • Affiliate-Julkaisia

      Tässä yksi versio kyselylomakkeesta, jolla on ominaisuuksia jo enemän.

      Lisätty:
      - Lomakkeen keskitys ruudulle
      - Virheellisen vastauksen kestävä
      - Fokuksen siirto vastauskenttään
      - Poistumis painike
      - Merkistökoodaus UTF-8
      - Geometriaa parannettu

      Noista ominaisuuksista saattaa olla iloa jatkossa, ellei nyt ihan tähän tarpeeseen olisikaan sopivia.

      Linkki: http://paste.ofcode.org/AUkx2diPFxCiN2nj7pV9ay

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Kelekkakisat

      Mikä vakava onnettomuus sattunut kisoissa. On peruttu koko kisat. Pelastuskopteri näytti käyvän paikalla.
      Nivala
      25
      11014
    2. Aivan kauheaa

      Veikö koskiuoma taas ihmishengen? Se pitää kieltää!
      Imatra
      42
      8317
    3. Onko kaivattusi

      …mielestäsi älykäs, tai kenties tyhmä? Oma mielipide.
      Ikävä
      127
      5280
    4. Kuinka pitkä välimatka

      on teidän kotien välillä?
      Ikävä
      143
      3656
    5. Epäilen ettet edes

      Kehtaisi liikkua kanssani.
      Ikävä
      69
      3578
    6. Virkamiehille tarvitaan tuntuvat palkankorotukset

      Naistenpäivänä on syytä muistuttaa, että virkamiehen euro on vain 80 senttiä. Palkat tulee saattaa samalle tasolle yksi
      Maailman menoa
      35
      3534
    7. Oletko huomannut

      Yhden muutoksen?
      Ikävä
      33
      3167
    8. Jäikö meidän välit

      Mielestäsi Kesken?
      Ikävä
      55
      2529
    9. Olisipa saanut sinuun

      Tutustua paremmin. Harmi että aloin lopulta jännittämään kun näytit tunteesi niin voimakkaasti ja lähestyit niin voimaak
      Ikävä
      35
      2031
    10. Miltä mahtaa tuntua

      Sitten kun näet hänet pitkästä aikaa?
      Tunteet
      28
      1786
    Aihe