Çözüldü Python kodundaki hata nedir?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

AriceN

Hectopat
Katılım
16 Kasım 2020
Mesajlar
2.243
Çözümler
15
Yer
İstanbul
Daha fazla  
Cinsiyet
Erkek
Meslek
Bilgisayar Mühendisliği Öğrencisi
Python:
from tkinter import *
import sqlite3.
import os.

# Main Program.
root = Tk()
root.title("Minerals and Vitamins")
width = 400.
height = 240.
screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()
x = (screen_width / 2) - (width / 2)
y = (screen_height / 2) - (height / 2)
root.geometry("%dx%d+%d+%d" % (width, height, x, y))
root.resizable(0, 0)

dosya = 'vt.sqlite'
dosya_mevcut = os.path.exists(dosya)

vt = sqlite3.connect(dosya)
im = vt.cursor()

mineral_datas = [("Calcium", 8.5, 10.4, "Wheat flour - 40 mg", "Corn flour - 9 mg", "Rice - 20 mg"),
 ("Sodium", 136, 145, "9 mg in Hot Red Pepper", "7 mg in Avocado", "4 mg in Quince"),
 ("Iron", 60, 170, "Pumpkin seeds - 10 mg", "Pistachios - 4 mg", "Moon core - 7 mg"),
 ("Magnesium", 2.0, 2.7, "Pumpkin seeds - 10 mg", "Pistachios - 4 mg", "Moon core - 7 mg"),
 ("Phosphorus", 2.7, 4.5, 'Dried apricots - 108 mg', 'Banana - 26 mg', 'Grapes - 20 mg')]

im.execute("""CREATE TABLE IF NOT EXISTS minerals.
(name TEXT, min_value REEL, max_value REEL, food_1 TEXT, food_2 TEXT, food_3 TEXT)""")

if not dosya_mevcut:
 for data in mineral_datas:
 im.execute("""INSERT INTO minerals VALUES(?, ?, ?, ?, ?, ?)""", data)
 vt.commit()

def getv(variable):
 variable = varList.get()
 return variable.

def buttonfunction(variable, entryvalue):
 last_value = int(entryvalue.get())
 if variable == "Calsium":
 im.execute("""SELECT * FROM minerals WHERE name = "Calcium" """)
 deger = im.fetchone()
 print(deger[1])
 if last_value < deger[1]:
 print("eksik")

# ==============================LABELS=========================================
hello_label = Label(root, text="Minerals and Vitamins", font=('MonoLisa', 15))
hello_label.pack(fill=X)

value_label = Label(root, text="Your Values: ", font=('MonoLisa', 15), bd=15)
value_label.place(x=15, y=60)

value_choose_label = Label(root, text="Your Chooses: ", font=('MonoLisa', 15), bd=15)
value_choose_label.place(x=15, y=110)

# ==============================ENTRY WIDGETS==================================
entryvalue = IntVar()
value_input = Entry(root, textvariable=entryvalue, font='MonoLisa')
value_input.place(x=165, y=78)

varList = StringVar(root)
varList.set("Please Choose")
choose_list = ["Calcium",
 "Sodium",
 "Iron",
 "Magnesium",
 "Phosphorus",
 "Potassium",
 "Zinc",
 "Copper",
 "Chromium",
 "Iodine",
 "Selenium",
 "Manganese",
 "Fluorine"]

choose_menu = OptionMenu(root, varList, *choose_list, command=getv)
choose_menu.place(x=165, y=122)

submit_button = Button(root, text="Submit", font=('Calibri', 10), command=buttonfunction)
submit_button.place(x=310, y=180)
# ==============================LOOP==================================
root.mainloop()

Hocalarım bir program yapmaya çalışıyorum. Burada entry ile aldığım veri ile optionmenude seçilen mineral alınacak ve veri tabanındaki değerler ile karşılaştırılacak ancak buton fonksiyonu tam olarak çalışmıyor.
Verdiği hata şu: Typeerror: buttonfunction() missing 2 required positional arguments: 'variable' and 'entryvalue'.
Değerleri fonksiyonun içine nasıl alacağımı çözemedim hatta şu var ki diğer fonksiyonda variable değişkenine atadığı değeri programa vermiyor. Ne kadar anlatabildim bilmiyorum ancak yardım edebilirseniz sevinirim.
 
Çözüm
Submit_button = button(root, text="submit", font=('calibri', 10), command= lambda: Action(variable, entryvalue))

hocam buttonfunction için parametreleri vermemişsin.
Şu kodu dener misin? Stack'dan de yazdım ama şu an ben deneyemiyorum. Çalışırsa bilgi verir misin?
Submit_button = button(root, text="submit", font=('calibri', 10), command= lambda: Action(variable, entryvalue))

hocam buttonfunction için parametreleri vermemişsin.
Şu kodu dener misin? Stack'dan de yazdım ama şu an ben deneyemiyorum. Çalışırsa bilgi verir misin?
 
Son düzenleme:
Çözüm
Submit_button = button(root, text="submit", font=('calibri', 10), command= lambda: Action(variable, entryvalue))

Kardeş buttonfunction için parametreleri vermemişsin.
Şu kodu dener misin? Stack'dan de yazdım ama şu an ben deneyemiyorum. Çalışırsa bilgi verir misin?

Hocam denedim ancak çalışmadı.
 
Nasıl bir hata alıyorsun? Denedikten sonra.

Ekran görüntüsü 2022-06-07 172733.png


Action'u tanımlamıyor.
 

Technopat Haberler

Yeni konular

Geri
Yukarı