Как сделать сохранение списка (Мне нужно что-то вроде вывод из файла, только с сохранением свойств списка)

Убедительная просьба не сильно редактировать мою программу очень трудно потом разбираться что к чему

from tkinter import *
import random
X=['Вася-человек']
root = Tk()
def hello():
    Y=(random.choice(X))
    print(Y)
def hello2():
    C=str(input())
    X.append(C)
bt=Button(root, text='Посмотреть факт', command=hello)
bt2=Button(root, text='Добавить факт', command=hello2)
bt.pack()
bt2.pack()
root.mainloop()

Ответы (2 шт):

Автор решения: Xander
from tkinter import *
import random


class Facts:

    def __init__(self):
        self.x = ['Вася-человек']

    def hello(self):
        y = (random.choice(self.x))
        print(y)

    def hello2(self):
        c = str(input())
        self.x.append(c)


root = Tk()
facts = Facts()

bt = Button(root, text='Посмотреть факт', command=facts.hello)
bt2 = Button(root, text='Добавить факт', command=facts.hello2)
bt.pack()
bt2.pack()

root.mainloop()
→ Ссылка
Автор решения: CrazyElf

Если вам прямо очень нужно именно с минимальным редактированием кода, то достаточно указать, что X - глобальная переменная.

def hello2():
    global X
    C=str(input())
    X.append(C)
→ Ссылка