Python-53-物件導向18.複習實作:確認使用者資訊

目前已了解:

  • 類別
  • 建構子
  • 類別變數
  • 類別方法
  • 物件
  • 物件變數
  • 物件方法

 

實作:

需要一個類別
類別有建構子 
類別變數有(姓名、電話、地址、生日、性別)
類別方法有
    1.計算年紀的功能
      2.查詢性別的功能

寫一個物件 = 呼叫類別

使用物件去 調用 物件變數、物件方法


#請使用者輸入自己的資料

姓名、電話、地址、生日(2000-02-12)  、性別(1.2)

印出:今天日期


姓名??先生/小姐您好:
請確認以下資料

電話: ??
地址: ??
生日: ??
年齡: 幫使用者做計算


如果正確請按 'y'  離開程式
如果錯誤請按 'n'  重新輸入
 

參考:

import datetime

class userinfo:#class類別
  def __init__(self,mname,mphone,maddr,mbir,gender):#函數__init__程式呼叫class(類別時)會自動執行(class類別的變數,參數A,參數B,參數n)
    self.mname = mname 
    self.mphone = mphone 
    self.maddr = maddr 
    self.mbir = mbir 
    self.gender = gender 
    self.mytoday = datetime.datetime.now()
    
  def calgender(self): #查詢性別
      if(self.gender == "1"):
          self.gender ="先生";
          #return "先生";
      elif(self.gender == "2"):
          self.gender ="小姐";
          #return "小姐";
      
  def getage(self):#查詢年紀
      self.age=int(self.mytoday.strftime("%Y"))-int(self.mbir[0:4]);
      #return self.age

  def checkinfo(self):
      print(self.mname,self.gender,"您好");
      print("您的手機是:",self.mphone);
      print("您的地址是:",self.maddr);
      print("您的生日是:",self.mbir);
      print("您的性別是:",self.gender);
      print("今年:",self.age,"歲");
  
def userinput():
    mname=input("請輸入姓名:   ");
    mphone=input("請輸入手機:   ");
    maddr=input("請輸入地址:   ");
    mbir=input("請輸入生日-格式為  0000/00/00  :   ");
    gender=input("請輸入性別 (1.男 2.女)   :   "); 

    minfo = userinfo(mname,mphone,maddr,mbir,gender)#物件
    usergender = minfo.calgender();
    #print(usergender);
    getyear =minfo.getage();
    #print(getyear)
    minfo.checkinfo();
    
    info_ok=input("請問以上資料正確?\n如果正確請按 'y'  離開程式\n如果錯誤請按 'n'  重新輸入");
    return info_ok

while (True): 
  x=userinput()
  print(x)
  if (x == 'y'):
    break;
  else:
    print("請重新輸入")
    
  





看看效果

Yiru@Studio - 關於我 - 意如