I Love Python. I Learn Python. I Teach Python. I Am a Python.

2014/07/05

家人互動.py, 一支物件導向小程式範例


'''
家人互動.py

一支物件導向小程式範例。

呂仁園, 2014/07/05

'''
class 人類:

    def __init__(我, 名= '', 性別= '', 年紀= 0, 身高= 0, 體重= 0):

        我.名=   名
        我.性別= 性別
        我.年紀= 年紀
        我.身高= 身高
        我.體重= 體重

    def 自我介紹(我):

        介紹詞= '大家好,我名字是 %s,性別為 %s,年紀 %d 歲,身高 %d, 體重 %d'%(
            我.名, 我.性別, 我.年紀, 我.身高, 我.體重)
        print(介紹詞)
        

    def 告訴(我, 人, 話=''):

        print(我.名 + ' 告訴 ' + 人.名 +' 說:「 '+ 人.名 +' , '+ 話+' 。」')
        

    def 打人(我, 人):

        print(我.名 + ' 打 ' + 人.名+' !!' )
        

    def 哭(我):

        print(我.名+' 哭哇哇、、、')
        

    def 給糖(我, 人):

        print(我.名 + ' 給糖 ' + 人.名+' 。。。' )
        

    def 笑(我):

        print(我.名+' 笑哈哈、、、')
        
def 主程式():

    爸爸= 人類('阿園','男', 50, 160, 50)
    媽媽= 人類('阿靜','女', 40, 150, 40)

    老大= 人類(名= '阿名', 性別= '男', 年紀= 15, 身高= 170, 體重= 55)
    老二= 人類(名= '阿弘', 性別= '男', 年紀= 13, 身高= 150, 體重= 35)

    爸爸.自我介紹()

    for 人 in [媽媽, 老大, 老二]:
        人.自我介紹()

    老大.告訴(老二, '你過來一下。')
    老二.告訴(老大, '我不要。')

    老大.打人(老二)
    老二.哭()

    老大.給糖(老二)
    老二.笑()

    for 大人 in [爸爸, 媽媽]:
        for 小孩 in [老大, 老二]:

            大人.告訴(小孩, '過來一下,我給你糖。')
            大人.給糖(小孩)
            小孩.笑()
            小孩.告訴(大人, 'Thank you!')


if __name__=='__main__':

   主程式()

#
# 執行結果
#
'''
大家好,我名字是 阿園,性別為 男,年紀 50 歲,身高 160, 體重 50
大家好,我名字是 阿靜,性別為 女,年紀 40 歲,身高 150, 體重 40
大家好,我名字是 阿名,性別為 男,年紀 15 歲,身高 170, 體重 55
大家好,我名字是 阿弘,性別為 男,年紀 13 歲,身高 150, 體重 35
阿名 告訴 阿弘 說:「 阿弘 , 你過來一下。 。」
阿弘 告訴 阿名 說:「 阿名 , 我不要。 。」
阿名 打 阿弘 !!
阿弘 哭哇哇、、、
阿名 給糖 阿弘 。。。
阿弘 笑哈哈、、、
阿園 告訴 阿名 說:「 阿名 , 過來一下,我給你糖。 。」
阿園 給糖 阿名 。。。
阿名 笑哈哈、、、
阿名 告訴 阿園 說:「 阿園 , Thank you! 。」
阿園 告訴 阿弘 說:「 阿弘 , 過來一下,我給你糖。 。」
阿園 給糖 阿弘 。。。
阿弘 笑哈哈、、、
阿弘 告訴 阿園 說:「 阿園 , Thank you! 。」
阿靜 告訴 阿名 說:「 阿名 , 過來一下,我給你糖。 。」
阿靜 給糖 阿名 。。。
阿名 笑哈哈、、、
阿名 告訴 阿靜 說:「 阿靜 , Thank you! 。」
阿靜 告訴 阿弘 說:「 阿弘 , 過來一下,我給你糖。 。」
阿靜 給糖 阿弘 。。。
阿弘 笑哈哈、、、
阿弘 告訴 阿靜 說:「 阿靜 , Thank you! 。」
'''

1 則留言:

  1. 這種程式很易讀,
    就算沒學過程式設計又不太懂英文的人也七八成知道他要表達的意思。
    很有趣。

    回覆刪除