I just finished my homework writer program and now I have a really annoying problem
I made it so when a function finishes it asks if it wants to rerun the main function, when i do that then run a different function (sorry if i suck at wording things) the function does nothing at all. Is there anything i can do?
Here is my code
agenda=open("agenda.txt","a") #open the notepad file
def choice(): #pick the period
choice=input("type write, read, or clear\n")
if choice=="read":
read()
elif choice=="write":
write()
elif choice=="clear":
clear()
else:
print("Invalid Choice")
def write(): #write the homework
per=input("What period is it")
hw=input("What is the homework")
if per=="1":
agenda.write("Period 1:")
agenda.write(hw)
agenda.write("\n")
elif per=="2":
agenda.write("Period 2:")
agenda.write(hw)
agenda.write("\n")
elif per=="3":
agenda.write("Period 3:")
agenda.write(hw)
agenda.write("\n")
elif per=="4":
agenda.write("Period 4:")
agenda.write(hw)
agenda.write("\n")
elif per=="5":
agenda.write("Period 5:")
agenda.write(hw)
agenda.write("\n")
elif per=="6":
agenda.write("Period 6:")
agenda.write(hw)
agenda.write("\n")
elif per=="7":
agenda.write("Period 7:")
agenda.write(hw)
agenda.write("\n")
elif per=="8":
agenda.write("Period 8:")
agenda.write(hw)
agenda.write("\n")
else:
print("Non existant period")
again=input("Would you like to read the homework, clear, or read again? (yes or no)")
if again=="yes":
choice()
elif again=="no":
print("\n")
def clear():#clear the whole thing
ajenda = open('agenda.txt', 'r+')
ajenda.truncate()
again=input("Would you like to read the homework, clear, or read again? (yes or no)")
if again=="yes":
choice()
elif again=="no":
print("\n")
def read():#read the homework
read=open("agenda.txt","r")
readf=read.read()
print(readf)
read.close
again=input("Would you like to read the homework, clear, or read again? (yes or no)")
if again=="yes":
choice()
elif again=="no":
print("\n")
choice()
agenda.close()
I ran your code in python2.7 because I don’t have python3 right now.
My guess is you ran your code, written some homework and then you asked to read it and nothing show up. When you write to a file, for performance reason, the buffer does not get into the file until a certain amount of data has been provided or until you close the file.
If you test your code and then exit the program, you will find your data in the file. You may consider adding a flush() call in the write method.