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

116

    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. Natomaa hyökkäsi Iraniin

      Näemme nyt tällä hetkellä Natomaan nimeltä Yhdysvallat, joka toimii aika pitkälti perinteisen kansainvälisen lain ulkopu
      NATO
      719
      3124
    2. Trump aloitti III maailmansodan tänään.

      Narsisti ja mielipuoli Trump pitäisi saada pois, miten se onnistuisi parhaiten?
      Maailman menoa
      362
      2812
    3. Suvi Lindenillä 5 366 päivän putki

      Täytyy kyllä myöntää vaikka olen itsekin innokas, niin en ole tuollaiseen yli kymmenen vuoden putkeen kyennyt. Välillä o
      Maailman menoa
      67
      2623
    4. Mistä se kertoo

      Näin miehen pitkästä aikaa. Samantien iski sellainen paineen tunne rintaan, sitä ei ole ollut vuosiin. Ja nyt olen siitä
      Ikävä
      32
      2522
    5. Rakas tiedät, että toivoisin

      Kuulevani sinusta. Tiedät, että viestisi tekisi minut ihan onnelliseksi. Että äänesi kuuleminen saisi minut leijumaan ja
      Ikävä
      58
      2078
    6. Nyt on sanottava että sattuu kipeästi

      Jos, sinä aikana kun olen kaivannut ja odottanut sinua ja olet tiennyt sen, niin jos valitsit toisen miehen. Katsot minu
      Ikävä
      18
      1589
    7. Viesti miehelle

      Nyt vastaa oikea taa´app. Ainoastaan puhelimitse voidaan selvittää asioita, mutta tuskin sitä haluat kaiken halveeramise
      Ikävä
      12
      1582
    8. Eräs on taas viettänyt kokoyön täällä!!

      Etkö sä nuku koskaan??
      Ikävä
      49
      1569
    9. Miksi rakastuit

      Kaivattuusi?
      Ikävä
      79
      1569
    10. Teit asiat lopulta niin

      Ettei meillä ole ikinä mitään mahdollisuuksia toisiimme.
      Ikävä
      57
      1469
    Aihe