Witajcie,
Generalnie zaczynam dopiero swoją przygodę z Pythonem i natknąłem się na pewien problem. Piszę coś ala "testownik" do zajęć z biochemii, ale mniejsza z tym. :)
Potrzebuję zrobić button, który zmieniałby dany aminokwas. Dajmy na to, program wygenerował alaninę. Button sprawiałby, że losowanie byłoby raz jeszcze. Docelowo ma być bodaj 20 aminokwasów, więc proszę się nie sugerować ilością - to tylko dla testów tyle podałem.
Oto kod:
import tkinter as tk
from functools import partial
import random
import tkinter.messagebox
from tkinter import *
import tkinter
x = random.choice( ["alanina", "tyrozyna"] )
def call_result(label_result, jednoliterowy, trzyliterowy):
jednoliterowy = (jednoliterowy.get())
trzyliterowy = (trzyliterowy.get())
if x == "alanina":
if jednoliterowy != "A" and trzyliterowy == "Ala":
label_result.config(text="Blad w symbolu jednoliterowym")
if jednoliterowy == "A" and trzyliterowy != "Ala":
label_result.config(text="Blad w symbolu trzyliterowym")
if jednoliterowy != "A" and trzyliterowy != "Ala":
label_result.config(text="Blad w symbolu jednoliterowym i trzyliterowym")
if jednoliterowy == "A" and trzyliterowy == "Ala":
tkinter.messagebox.showinfo('Brawo!', 'XD')
if x == "tyrozyna":
if jednoliterowy == "Y" and trzyliterowy == "Tyr":
tkinter.messagebox.showinfo('Brawo!', 'XD')
def koniec():
sys.exit()
root = tk.Tk()
root.geometry('400x200+100+200')
root.title('Program do zapamietywania aminokwasow')
jednoliterowy = tk.StringVar()
trzyliterowy = tk.StringVar()
label = tk.Label(root, text="Wygenerowany aminokwas to: ").grid(row=1, column=0)
label = tk.Label(root, text=x).grid(row=1, column=1)
label = tk.Label(root, text="Podaj symbol jednoliterowy:").grid(row=2, column=0)
label = tk.Label(root, text="Podaj symbol trzyliterowy:").grid(row=3, column=0)
labelResult = tk.Label(root)
labelResult.grid(row=5, column=1)
tk.Entry(root, textvariable=jednoliterowy).grid(row=2, column=1)
tk.Entry(root, textvariable=trzyliterowy).grid(row=3, column=1)
call_result = partial(call_result, labelResult, jednoliterowy, trzyliterowy)
button = tk.Button(root, text="Sprawdz", command=call_result).grid(row=4, column=1)
button = tk.Button(root, text="Losuj ponownie", command=x).grid(row=4, column=0)
button = tk.Button(root, text="Konczymy na dzis! :)", command=koniec).grid(row=5, column=0)
root.mainloop()