Python日常7

来源:https://www.cnblogs.com/lonelyWMW/archive/2018/08/06/9428008.html
-Advertisement-
Play Games

面向對象: ...


面向對象:

1. 烤麵包

class Bread:
    #定義初始化方法
    def __init__(self):
        self.cookedlevel = 0
        self.cookedstr = '生的'
        self.sauce = []#調味料
    def __str__(self):
        msg = self.cookedstr + '麵包'
        if len(self.sauce) > 0:
            msg = msg + '('
            
            for temp in self.sauce:
                msg = msg + temp + ', '
            msg = msg.strip(', ')#去掉字元串尾部“, ”
            msg = msg + ')'
        return msg
    def cook(self, time):
        self.cookedlevel += time
        if self.cookedlevel > 10:
            self.cookedstr = '焦的'
        elif self.cookedlevel > 7:
            self.cookedstr = '熟的'
        elif self.cookedlevel > 4:
            self.cookedstr = '半熟'
        else:
            self.cookedstr = '生的'
    def addsauce(self, sauce):
        self.sauce.append(sauce)
        
        
bread1 = Bread()
print('一團麵粉:')
print(bread1.cookedlevel)
print(bread1.cookedstr)
print(bread1.sauce)

print('做麵包…………烤麵包')
print('4 min 後:')
bread1.cook(4)
print(bread1)

print('6 min 後:')
bread1.addsauce('奶油')
bread1.cook(6)
print(bread1)

print('11 min 後:')
bread1.addsauce('芝麻')
bread1.cook(11)
print(bread1)

 

2. 存傢具

class Home:

    def __init__(self, area):
        self.area = area
        self.furniture = []
        

    def __str__(self):
        msg = '當前房間可用面積為:' + str(self.area)
        if len(self.furniture) > 0:
            msg += '容納物品為:'
            for temp in self.furniture:
                msg += temp.getname() + ', '
            msg = msg.strip(', ')
        return msg
        
    def contain(self, item):
        needarea = item.getarea()
        if self.area > needarea:
            self.furniture.append(item)
            self.area -= needarea
            print('存儲 OK')
        else:
            print('錯誤')
    
    
class Bed:
    def __init__(self, area, name = ''):
        self.area = area
        self.name = name
        
    def __str__(self):
        msg = '床的面積為:' + str(self.area)
        return msg
        
    def getname(self):
        return self.name
    
    def getarea(self):
        return self.area
        
        
myhome = Home(100)
print(myhome)

print('-'*50)

mybed = Bed(20)
print(mybed)

myhome.contain(mybed)
print(myhome)

print('-'*50)

mybed2 = Bed(30, '絨棉床')
print(mybed2)

myhome.contain(mybed2)
print(myhome)

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 上一篇說了一下《解決問題的一般套路》,裡面講到了日誌系統的重要性,日誌重要嗎?監控重要嗎?of course!日誌就是要能找到用戶做了什麼請求那個機器。 ...
  • 1.假設輸出不存在的變數 a 代碼演示 ********************************************************************************************************************************** ...
  • 這是我們的第一篇文章 這是我們的網站 假如以後的文章寫得”難以理解“,請多多體諒 ...
  • 前言 在 中的字元串屬於對象,那麼 中提供了 類來創建和操作字元串,即是使用對象;因為 類修飾的字元一旦被創建就不可改變,所以當對字元串進行修改的時候,需要使用到 和 類。 String類 接下來開始使用對象了,什麼是 類呢? 是用來修飾字元串的,字元串是一種特殊的對象,一旦初始化就不可被改變,用 ...
  • Eureka搭建 一、Eureka基本框架搭建 ...
  • 前期基礎部分的交互方式為: username=input('username: ').strip() print(username,type(username)) ...
  • 1 什麼是變數 量:記錄現實世界中的某種狀態 變:記錄的狀態是需要經常變化的2 為什麼要有變數 程式執行的本質就是一系列狀態的變化,變是程式執行的直接體現, 所以我們需要有一種機制能夠反映或者說是保存下來程式執行時狀態以及狀態的變化。3 如何用變數 3.1、如何定義變數,變數定義分為三部分 變數名: ...
  • 1. 學習計劃 第十二天: 1、購物車實現 2、訂單確認頁面展示 2. 購物車的實現 2.1. 功能分析 1、購物車是一個獨立的表現層工程。 2、添加購物車不要求登錄。可以指定購買商品的數量。 3、展示購物車列表頁面 4、修改購物車商品數量 5、刪除購物車商品 2.2. 工程搭建 e3-cart-w ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...