无法加载或保存 txt。文件

Cannot load or save txt. file

我写了一个代码,但显然它没有保存和加载到我的 txt。文件。如果您查看我的代码并告诉我哪里出了问题,我将不胜感激,因为我自己真的很难弄清楚。我没有使用 pickle,因为它造成了与编码相关的困难,所以我试图找到解决它的其他方法,并将所有这些都保存到我的 txt 中。文件是 "None"。提前谢谢你。

def savedata(x):
    play_again = input("Are you willing to save existing progress? Y/N")
    if (play_again == "Y") or (play_again == "y"):
        print("Saving progress...")
        file = open('adam_malysz.txt', 'w')
        file.write(str(x))
        file.close()
        print("Your file has been called - adam_malysz.txt")
        print("Progress has been successfully saved.")
    else:
        print("Returning to main menu")
def arrayfancy():
    num1 = int(input("Select size of an array: "))
    value = []
    for i in range(num1):
        value.append(random.randint(1, 99))
    print("Printing data...")
    print(value)
    print("Sorting Array...")
    bubblesort(value)
    print(value)
    print("Average value is: ")
    print(statistics.mean(value))
    print("Minimum value is: ")
    print(min(value))
    print("Maximum value is: ")
    print(max(value))
    print("Your data has been successfully printed")

    if choice == 1:
       savedata(arrayfancy())

你的 arrayfancy() 没有 return 语句,所以它 returns None 当它到达功能块的末尾时。 savedata(x) 然后成功将 "None" 写入您的文件。

您可以在arrayfancy()的末尾添加return value,这将解决您的问题。


我测试了下面的代码,我得到了包含数组的文本文件。

def savedata(x):
    play_again = input("Are you willing to save existing progress? Y/N")
    if (play_again == "Y") or (play_again == "y"):
        print("Saving progress...")
        file = open('adam_malysz.txt', 'w')
        file.write(str(x))
        file.close()
        print("Your file has been called - adam_malysz.txt")
        print("Progress has been successfully saved.")
    else:
        print("Returning to main menu")

def arrayfancy():
    num1 = int(input("Select size of an array: "))
    value = []
    for i in range(num1):
        value.append(random.randint(1, 99))
    print("Printing data...")
    print(value)
    print("Sorting Array...")
    bubblesort(value)
    print(value)
    print("Average value is: ")
    print(statistics.mean(value))
    print("Minimum value is: ")
    print(min(value))
    print("Maximum value is: ")
    print(max(value))
    print("Your data has been successfully printed")
    return value

if choice == 1:
    savedata(arrayfancy())