Python实验五 面向对象编程基础
本文最后更新于 560 天前,其中的信息可能已经有所发展或是发生改变。

第1关:实验五 面向对象编程基础

任务描述

本关任务:编写账户类。为账户类编写初始化方法; 为账户类添加show()方法。

相关知识

为了完成本关任务,你需要掌握:1.面向对象编程基础。

编程要求

根据提示,在右侧编辑器补充代码。 不修改if name=='main': 以下代码。

测试说明

平台会对你编写的代码进行测试:

测试输入:100001234563000 预期输出: 账号:10000 密码:123456 余额:3000

class Account:
    def __init__(self,account_id,pwd,balance):
        self.account_id = account_id
        self.pwd = pwd
        self.balance = balance
    def show(self):
        print(f"账号:{self.account_id}\n密码:{self.pwd}\n余额:{self.balance}")

if __name__ == '__main__':
    s = input()
    token = s.split(',')
    account_id = token[0]
    pwd = token[1]
    balance = int(token[2])

    aAccount = Account(account_id,pwd,balance)
    aAccount.show()

第2关:实验五 面向对象编程基础 矩形类

任务描述

本关任务:编写矩形类。1 为矩形类添加初始化方法; 2 为矩形类添加move()方法,move()方法的功能是将矩形移动到新的位置;3为矩形类添加scale()方法,scale()方法的功能是放大或缩小矩形的长宽。

相关知识

为了完成本关任务,你需要掌握:1.声明类。

编程要求

根据提示,在右侧编辑器补充代码,注意空格和缩进。 不修改if name == 'main': 该行以下的程序。

测试说明

平台会对你编写的代码进行测试:

测试输入:40506070 预期输出: 位置:(40,50) 长宽分别为:60 70 移动后位置为:(50,70) 放大两倍后长宽分别为:(120,140)

class Rectangle:
    def __init__(self,x,y,w,h):
        self.x = x
        self.y = y
        self.w = w
        self.h = h

    def move(self,x,y):
        self.x = x
        self.y = y

    def scale(self,rate):
        self.w *= rate
        self.h *= rate
 
if __name__ =='__main__':
    pass
    s =input()
    token = s.split(',')
    x,y=int(token[0]),int(token[1])
    w,h=int(token[2]),int(token[3])
    
    aRectangle = Rectangle(x,y,w,h)
    print("位置:({},{})".format(aRectangle.x,aRectangle.y))
    print("长宽分别为:{} {}".format(aRectangle.w,aRectangle.h))
    aRectangle.move(50,70)
    print("移动后位置为:({},{})".format(aRectangle.x,aRectangle.y))
    aRectangle.scale(2)
    print("放大两倍后长宽分别为:({},{})".format(aRectangle.w,aRectangle.h))
    

第3关:实验五 面向对象编程基础 通讯录类

任务描述

本关任务:编写联系人类和通讯录类。 为联系人类添加初始化方法;

为通讯录类添加add()方法,其功能是向通讯录中添加联系人; 为通讯录添加edit()方法,其功能是修改name的电话号码phone; 为通讯录类添加find()方法,其功能是根据姓名查找电话号码; 为通讯录添加size()方法,其功能是返回通讯录中联系人的条数;

相关知识

为了完成本关任务,你需要掌握:1.面向对象编程基础。

编程要求

根据提示,在右侧编辑器补充代码,注意空格和缩进。 不修改if name == 'main': 该行以下代码。

测试说明

平台会对你编写的代码进行测试:

测试输入:jerry18912345678mary13998765432peter,13012344321; 预期输出: jerry,18912345678 mary,13998765432 peter,13012344321 mary的电话号码为13698765432 peter的电话号码为13012344321 通讯录中总共有3条联系人信息 通讯录中姓名以m字符开始的联系人有1条

class Contact:
    def __init__(self,name,phone):
        self.name = name
        self.phone = phone
        
class Phonebook:
    def __init__(self):
        self.data = []
    def add(self,person):
        self.data.append(person)
    def display(self):
        for i in self.data:
            print(f"{i.name},{i.phone}")
    def find(self,name):
        for i in self.data:
            if i.name == name:
                return i.phone
        return "NoResult"  #保持返回值类型的统一  
    def edit(self,name,phone):
        for i in self.data:
            if i.name == name:
                i.phone = phone
    def size(self):
        return len(self.data)
    def stat(self):
        count = 0
        for i in self.data:
            if i.name[0] == 'm':
                count += 1
        return count
            
if __name__=='__main__':
    #pass
    s = input()
    token = s.split(',')

    aContact = Contact(token[0],token[1])
    bContact = Contact(token[2],token[3])
    cContact = Contact(token[4],token[5])

    aPhonebook = Phonebook()
    aPhonebook.add(aContact)
    aPhonebook.add(bContact)
    aPhonebook.add(cContact)
    
    aPhonebook.display()

    #bContact.edit('13698765432')
    name = 'mary'
    phone = "13698765432"
    aPhonebook.edit(name,phone)

    print("{}的电话号码为{}".format(name,aPhonebook.find(name)))
    name = 'peter'
    print("{}的电话号码为{}".format(name,aPhonebook.find(name)))
    print("通讯录中总共有{}条联系人信息".format(aPhonebook.size()))
    
    print("通讯录中姓名以m字符开始的联系人有{}条".format(aPhonebook.stat()))
 
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇