天天看點

打卡小程式

import os


class Supervise:
    """
    This program is aiming at supervising myself
    """
    def __init__(self): 
        """
        str for strength
        hel for health
        ger for German
        eng for English
        aca for academy
        """
        print('Today is 22.04.2019, I have made a decision to create an updating system.' )
        # initialize correspondng variables
        if not os.path.exists("C:/Users/15025/Desktop/data.txt"):
            self.str = 0
            self.hel = 0  
            self.ger = 0 
            self.eng = 0 
            self.aca = 0 
        else:
            with open("C:/Users/15025/Desktop/data.txt", 'r') as f:
                data_list = f.readlines()
                new_data_list = []
                for data in data_list:
                    new_data_list.append(int(data.rstrip()))
                self.str = new_data_list[0]
                self.hel = new_data_list[1] 
                self.ger = new_data_list[2] 
                self.eng = new_data_list[3]
                self.aca = new_data_list[4]
        
    def mainSystem(self):  
        self.updateData()
        self.displayData()
        self.saveData()
       
        
    def updateData(self):
        answer_list = ['Y', 'y', 'Yes', 'yes']
        ans = input('Did you do exercise today?')
        if ans in answer_list :
            self.str += 1
        else:
            self.str -= 1
        ans = input('How about your food?')
        if ans in answer_list:
            self.hel+= 1
        else:
            self.hel -= 1
        ans =  input('Have you learned German?')
        if ans in answer_list:
            self.ger+= 1
        else:
            self.ger -= 1
        ans =  input('Have you learned English?')
        if ans in answer_list:
            self.eng+= 1
        else:
            self.eng -= 1
        ans =  input('Have you read reference books?')
        if ans in answer_list:
            self.aca+= 1
        else:
            self.aca -= 1
        pass
    
    
    def displayData(self):
        print('-'*18+'Current Data ' + '-' * 18)
        print('Strength:'.ljust(20)+ '|'+'{0}'.format(self.str).rjust(28))
        print('Healthy:'.ljust(20)+'|'+'{0}'.format(self.hel).rjust(28))
        print('German Skills:'.ljust(20)+'|'+'{0}'.format(self.ger).rjust(28))
        print('English Skills:'.ljust(20)+'|'+'{0}'.format(self.eng).rjust(28))
        print('Academic Skills:'.ljust(20)+'|'+'{0}'.format(self.aca).rjust(28))


    def saveData(self):
        """
        Here we just save the data according to the order and leave out other uncessary part.
        """
        with open("C:/Users/15025/Desktop/data.txt", "w+") as f:
            f.write(str(self.str) + '\n')
            f.write(str(self.hel) + '\n')
            f.write(str(self.ger) + '\n')
            f.write(str(self.eng) + '\n')
            f.write(str(self.aca) + '\n')
            
    
main = Supervise()
main.mainSystem()