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

117

    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. Vasemmistohallitus palauttaa hintasääntelyn, esim. bensalitra vain 1e.

      Tuleva vasemmistolaisista koostuva hallitus ottaa käyttöön vanhat hyvät keinot pitää hinnat kurissa. Tähän tarkoitukse
      Maailman menoa
      98
      4852
    2. Vasemmistolainen valehteli jälleen - Purra tai persut eivät luvanneet "euron bensaa"

      Väite "euron bensasta" on ensisijaisesti poliittisten vastustajien käyttämä puhdas vale. Persut kyllä kampanjoivat näky
      Maailman menoa
      114
      3962
    3. Arman Alizadin viesti puna-aktivisteille: "Pitäkää lärvinne nytkin kiinni"

      Arman Alizad kritisoi vasemmiston kaksinaismoralismia. Iranissa syntynyt suosikkijuontaja Arman Alizad pakeni perheensä
      Maailman menoa
      211
      3870
    4. Minja Koskela nostanut vasemmistoliiton kannatuksen ennätykseen

      Koskela valittiin puolueen johtoon lokakuussa 2024, ja silloin Ylen kysely antoi puolueelle 9,3 prosentin kannatuksen.
      Maailman menoa
      120
      2265
    5. Antti johtaa Petteriä jo 7,1 prosenttiyksiköllä

      Tällä menolla sdp menee kokoomuksesta kierroksella ohi jo tällä vaalikaudella. https://yle.fi/a/74-20213575
      Maailman menoa
      80
      1987
    6. Mitä on tullut

      Entisen abcn rakennuksen tilalle se oli tyhjillään monta vuotta siellä oli jo nyt valot onko huoltoasema? 5:30.
      Haapavesi
      80
      1386
    7. Harmi nainen kun

      olet niin elähtäneen näköinen. Miestä et koskaan löydä itelles. j
      Ikävä
      137
      1354
    8. Palosta selvinnyt 18 vuotias munira tarvitsi tulkin kun puhui Iltalehdelle

      Suomessa asuva 18 vuotias tarvii tulkin !!! Tää Suomea puhumaton on palossa kuolleen naisen veli ja asui perheen kanssa.
      Vantaa
      170
      1343
    9. En ymmärrä ateisteja!

      Raamattu on aitoa historiaa, jotka ovat kirjoittaneet aikalaiset! Mitä änkyröitte turhaa???
      Ateismi
      585
      1259
    10. Minne pyydän sut?

      Jotta saan nähdä 🤨
      Ikävä
      53
      1145
    Aihe