Возможно ли разрешить пользователю программы загружать свои данные после того, как они получили ответ от программы о том, какой тест они должны использовать? Я знаю, что мне нужно использовать 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-prop тем, что вы хотите открыть после ответа на все вопросы? Если это так, хранятся ли они в любом месте доступа (например, сервер или каждый использует один компьютер)? – Benjooster