我的 Tkinter 在 python 中的代碼有問題。我正在制作一個將 DNA 鏈轉錄為 RNA 的程式。我的輸出應該是我放入條目但轉錄為 RNA 的鏈,例如...輸入 = ACGTAGCT,輸出 UGCAUCGA(DNA 中的 A 是 RNA 中的 U,C 是 G,G 是 C,T 是 A)。問題是當我點擊按鈕時有一個空輸出。
我的代碼在這里:
import tkinter as tk
from tkinter import Label, Button, filedialog, Text
import os
root = tk.Tk()
canvas = tk.Canvas(root, height = 400, width = 400)
canvas.pack()
y = tk.Entry(root)
y.pack()
abc = y.get()
seq = [""]
for i in abc:
if i == "A":
seq.append("T")
elif i == "T":
seq.append("A")
elif i == "C":
seq.append("G")
elif i == "G":
seq.append("C")
def click():
y.get()
mylabel = Label(root, text = seq)
mylabel.pack()
run = Button(root, text = " Translate", bd = "5", command=click)
run.pack(side = "top")
popis1 = tk.Label(root, text='Insert DNA sequence')
popis1.config(font=('helvetica', 14))
canvas.create_window(200, 100, window=popis1)
popis2 = tk.Label(root, text= "RNA sequence is:")
canvas.create_window(200, 210, window=popis2)
output = tk.Label(root, text= print(seq),font=('helvetica', 10, 'bold',))
canvas.create_window(200, 230, window=output)
root.mainloop()
uj5u.com熱心網友回復:
這里有幾件事,主要問題是您沒有在 click 函式中重新計算新結果,因此它應該如下所示:
def click():
seq = [""]
abc = y.get()
for i in abc:
if i == "A":
seq.append("U")
elif i == "T":
seq.append("A")
elif i == "C":
seq.append("G")
elif i == "G":
seq.append("C")
mylabel = Label(root, text = seq)
mylabel.pack()
您現在可以從原來的位置洗掉 for 回圈。另外,U 沒有出現在翻譯中,所以我改變了它。
現在它可以作業了,但它會{}在結果之前顯示,因為您正在列印一個陣列。您可以使用
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/391043.html
上一篇:如何在ReactNative中僅使用一個onChange來管理多個用戶輸入?
下一篇:你如何制作一個并排的可折疊按鈕?
