是否有可能允許一個程序用戶,他們已經從程序哪個測試應該使用得到的答案後,上傳自己的數據?我知道我需要使用tkFileDialog,但是在程序的第一部分運行後遇到問題。讓我知道如果這不清楚。我的代碼到目前爲止是:的Tkinter的FileDialog
from Tkinter import *
import tkMessageBox
root = Tk()
q1 = IntVar()
Label(root,
text="""How many samples do you have?""",
justify = LEFT,
padx = 20).pack()
Radiobutton(root,
text="One",
padx = 20,
variable=q1,
value=1).pack(anchor=W)
Radiobutton(root,
text="Two",
padx = 20,
variable=q1,
value=2).pack(anchor=W)
q2 = IntVar()
Label(root,
text="""Which choice most closely fits your sample size?""",
justify = LEFT,
padx = 20).pack()
Radiobutton(root,
text = """Less than 30""",
padx = 20,
variable=q2,
value = 1).pack(anchor=W)
Radiobutton(root,
text = """Greater than or equal to 30""",
padx = 20,
variable=q2,
value = 2).pack(anchor =W)
q3 = IntVar()
Label(root,
text="""Is the population mean known?""",
justify = LEFT,
padx = 20).pack()
Radiobutton(root,
text = """Yes""",
padx = 20,
variable=q3,
value = 1).pack(anchor=W)
Radiobutton(root,
text = """No""",
padx = 20,
variable=q3,
value = 2).pack(anchor=W)
q4 = IntVar()
Label(root,
text="""Is the standard deviation of your data known?""",
justify = LEFT,
padx = 20).pack()
Radiobutton(root,
text = """Yes""",
padx = 20,
variable=q4,
value = 1).pack(anchor=W)
Radiobutton(root,
text = """No""",
padx = 20,
variable=q4,
value = 2).pack(anchor =W)
q5 = IntVar()
Label(root,
text="""Do you wish to compare two groups?""",
justify = LEFT,
padx = 20).pack()
Radiobutton(root,
text = """Yes""",
padx = 20,
variable=q5,
value = 1).pack(anchor=W)
Radiobutton(root,
text = """No""",
padx = 20,
variable=q5,
value = 2).pack(anchor =W)
q6 = IntVar()
Label(root,
text="""Do you want to compare two sample means?""",
justify = LEFT,
padx = 20).pack()
Radiobutton(root,
text = """Yes""",
padx = 20,
variable=q6,
value = 1).pack(anchor=W)
Radiobutton(root,
text = """No""",
padx = 20,
variable=q6,
value = 2).pack(anchor =W)
q7 = IntVar()
Label(root,
text="""Is your data paired (E.g. before and after data)?""",
justify = LEFT,
padx = 20).pack()
Radiobutton(root,
text = """Yes""",
padx = 20,
variable=q7,
value = 1).pack(anchor=W)
Radiobutton(root,
text = """No""",
padx = 20,
variable=q7,
value = 2).pack(anchor =W)
q8 = IntVar()
Label(root,
text="""Are you testing proportions?""",
justify = LEFT,
padx = 20).pack()
Radiobutton(root,
text = """Yes""",
padx = 20,
variable=q8,
value = 1).pack(anchor=W)
Radiobutton(root,
text = """No""",
padx = 20,
variable=q8,
value = 2).pack(anchor =W)
q9 = IntVar()
Label(root,
text="""Do you wish to test for a difference between observed and expected data?""",
justify = LEFT,
padx = 20).pack()
Radiobutton(root,
text = """Yes""",
padx = 20,
variable=q9,
value = 1).pack(anchor=W)
Radiobutton(root,
text = """No""",
padx = 20,
variable=q9,
value = 2).pack(anchor =W)
Button(root, text = "Submit", command=choose).pack()
def choose():
if q1.get() == 1 and q2.get() == 1 and q3.get() == 2 and q4.get() == 2 and q5.get() == 1 and q6.get() == 2 and q7.get() == 2 and q8.get() == 2 and q9.get() == 2 :
tkMessageBox.showinfo('decision', 'You should use the t-test!')
elif q1.get() == 1 and q2.get() == 2 and q3.get() == 1 and q4.get() == 1 and q5.get() == 2 and q6.get() == 2 and q7.get() == 2 and q8.get() == 2 and q9.get() == 2:
tkMessageBox.showinfo('decision', 'You should use the z-test!')
elif q1.get() == 1 and q2.get() == 1 and q3.get() == 2 and q4.get() == 2 and q5.get() == 1 and q6.get() == 2 and q7.get() == 1 and q8.get() == 2 and q9.get() == 2:
tkMessageBox.showinfo('decision', 'You should use the paired t-test!')
elif q1.get() == 2 and q2.get() == 1 and q3.get() == 2 and q4.get() == 2 and q5.get() == 1 and q6.get() == 1 and q7.get() == 2 and q8.get() == 2 and q9.get() == 2:
tkMessageBox.showinfo('decision', 'You should use the two-sample t-test!')
elif q1.get() == 2 and q2.get() == 2 and q3.get() == 1 and q4.get() == 1 and q5.get() == 2 and q6.get() == 1 and q7.get() == 2 and q8.get() == 2 and q9.get() == 2:
tkMessageBox.showinfo('decision', 'You should use the two-sample z-test!')
elif q1.get() == 1 and q2.get() == 2 and q3.get() == 1 and q4.get() == 1 and q5.get() == 2 and q6.get() == 2 and q7.get() == 2 and q8.get() == 1 and q9.get() == 2:
tkMessageBox.showinfo('decision', 'You should use the 1-prop z-test!')
elif q1.get() == 2 and q2.get() == 2 and q3.get() == 1 and q4.get() == 1 and q5.get() == 2 and q6.get() == 2 and q7.get() == 2 and q8.get() == 1 and q9.get() == 2:
tkMessageBox.showinfo('decision', 'You should use the 2-prop z-test!')
elif q1.get() == 1 and q2.get() == 2 and q3.get() == 2 and q4.get() == 2 and q5.get() == 2 and q6.get() == 2 and q7.get() == 2 and q8.get() == 2 and q9.get() == 1:
tkMessageBox.showinfo('decision', ' You should use the chi-square test!')
else:
tkMessageBox.showinfo('decision', 'You have either incorrectly answered a question about your data or none of the available tests are appropriate.')
root.destroy()
root.mainloop()
定義 「上傳」。在用戶從文件對話框中選擇一個文件後應該發生什麼? – Kevin
長期目標是利用它們才能運行什麼都統計程序,他們被告知,最適合他們的數據所選擇的文件。現在,我需要能夠讓他們選擇他們想使用的文件。 – kellie92
你想把所有的問題都得到了回答後有開什麼2-道具測試?如果是這樣,這些存儲在每個人都可以訪問的位置(例如服務器或每個人使用一臺計算機)? – Benjooster