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)
Pähkinä_purtavaksi/Pyhon/Tkinter
6
116
Vastaukset
- 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
Natomaa hyökkäsi Iraniin
Näemme nyt tällä hetkellä Natomaan nimeltä Yhdysvallat, joka toimii aika pitkälti perinteisen kansainvälisen lain ulkopu7193124Trump aloitti III maailmansodan tänään.
Narsisti ja mielipuoli Trump pitäisi saada pois, miten se onnistuisi parhaiten?3622812Suvi 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ä o672623Mistä se kertoo
Näin miehen pitkästä aikaa. Samantien iski sellainen paineen tunne rintaan, sitä ei ole ollut vuosiin. Ja nyt olen siitä322522Rakas tiedät, että toivoisin
Kuulevani sinusta. Tiedät, että viestisi tekisi minut ihan onnelliseksi. Että äänesi kuuleminen saisi minut leijumaan ja582078Nyt 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 minu181589Viesti miehelle
Nyt vastaa oikea taa´app. Ainoastaan puhelimitse voidaan selvittää asioita, mutta tuskin sitä haluat kaiken halveeramise121582- 491569
- 791569
- 571469