Мне нужно написать программу для моего класса биологии в школе. Он должен «перевести» тройную комбинацию из четырех букв A, C, U и G [а X означает возможность присутствия A, C, U и G]. Примером является GCX .. GCX является трипплетом для аланина.UnboundLocalError: локальная переменная 'output', на которую ссылаются перед назначением
Программа должна получить вход (триплеты) и распечатать аминокислоту этого триплета в метке в моем графическом интерфейсе (tkinter).
Для облегчения просто включите пример с GCX и Alanine - он должен напечатать «Аланин [Ala]» в Lable, даже если я набрал «gcx» в записи.
from tkinter import *
import tkinter as tk
# Interface Construction
# Basic Interface
root = Tk()
root.title("Genetic Translator")
root.geometry("300x175")
# Solid Label "Information for Input"
s_label2 = Label(root, text = "\nInput Tripplet which decodes for an amino acid:\n")
s_label2.pack()
# Mainentry line (tripplet = trip)
trip = Entry(root)
trip.pack()
# .upper() Function
trip = str(trip)
trip = trip.upper()
# Output Function (Trans: trip -in- AS)
def Input():
output = tk.StringVar(output)
o_screen.configure(text = (output.get()))
if trip == "GCX":
output = "Alanine [Ala]"
Input()
else:
output = "Unknown tripplet!"
# Space Label 1
space_label1 = Label(root)
space_label1.pack()
# Button "Confirm"
mainbutton = Button(root, text = "Confirm", command = Input)
mainbutton.pack()
# Space Label 2
space_label2 = Label(root)
space_label2.pack()
# Output Screen
o_screen = Label(root)
o_screen.pack()
# Mainloop function for Interface Options
mainloop()
'output = tk.StringVar (output)' не будет помещать глобальный 'output' в stringvar. В функции имя является либо локальным, либо глобальным, а не тем и другим. –