首页文章用python写操作系统_用Python模拟一个手机操作系统——手机本体模块的实现python手机版「用python写操作系统_用Python模拟一个手机操作系统——手机本体模块的实现」

用python写操作系统_用Python模拟一个手机操作系统——手机本体模块的实现python手机版「用python写操作系统_用Python模拟一个手机操作系统——手机本体模块的实现」

时间2025-01-16 20:34:21发布yu分类文章浏览109
导读:上篇文章我们完成了手机联系人模块的编写 这篇文章我们来完善一下手机的本体 首先呢 我们要将之前编写的联系人模块导入进来 from dorrigo_contact import dorrigo_contact 然后我们初始化手机本体 手机应有的几个属性 最大联系人数量、是否开机、剩余电量、是否联网、手机信号、还有就是默认会自带一个...

上篇文章我们完成了手机联系人模块的编写

这篇文章我们来完善一下手机的本体

首先呢 我们要将之前编写的联系人模块导入进来

from dorrigo_contact import dorrigo_contact

然后我们初始化手机本体

手机应有的几个属性

最大联系人数量、是否开机、剩余电量、是否联网、手机信号、还有就是默认会自带一个联系人

def __init__(self, max_contacts):

self.max_contacts = max_contacts

self.turn_on = False

self.battery_life = 25

self.connected = False

self.signal_strength = 0

self.owner_first_name = "Dorrigo"

self.owner_last_name = "Incorporated"

self.owner_phone_number = "180076237867"

self.owner_contect = dorrigo_contact(

self.owner_first_name,

self.owner_last_name,

self.owner_phone_number

)

self.owner_contect.messages.append("Dorrigo: Thank you for choosing Dorrigo products")

self.contacts = [None for i in self.max_contacts]

判断手机是否开机

def is_phone_on(self):

return True if self.turn_on else False

手机开关机

on为传入的参数 ,我们准备执行开机还是关机操作

def set_phone_on(self, on):

if on:

if self.battery_life <= 5:

return False

else:

self.battery_life -= 5

self.turn_on = True

self.connected = False

return True

else:

self.turn_on = False

self.connected = False

return True

获取当前的手机剩余电量

def get_battery_life(self):

return self.battery_life if self.turn_on else 0

更换电池

def change_battery(self, new_battery_level):

if 0 <= new_battery_level <= 100:

self.turn_on = False

self.battery_life = new_battery_level

return True

else:

return False

是否已经联网

def is_connected_network(self):

if self.turn_on:

if self.connected:

return True

else:

return False

else:

return False

断开网络连接

def disconnect_network(self):

if self.turn_on:

if not self.connected:

self.signal_strength = 0

return True

连接网络

def connect_network(self):

if self.turn_on:

if self.connected:

return True

else:

self.connected = True

if self.battery_life <= 2:

self.battery_life = 0

self.turn_on = False

return False

if self.signal_strength == 0:

self.signal_strength = 1

self.battery_life -= 2

return True

else:

return False

获取当前的手机信号

def get_signal_strength(self):

if self.turn_on:

return self.signal_strength if self.connected else 0

else:

return 0

更新手机信号

def set_signal_strength(self, new_strength):

if self.turn_on:

if new_strength == 0:

self.connected = False

self.signal_strength = new_strength

return True

elif 0 < new_strength < 5:

self.connected = True

self.signal_strength = new_strength

return True

else:

return False

else:

return False

给手机充电,一次10%

def charge_phone(self):

if self.battery_life + 10 <= 100:

self.battery_life += 10

return True

else:

return False

使用手机

def use_phone(self, k):

if k:

if self.battery_life - k > 0:

self.battery_life -= k

return True

else:

self.battery_life = 0

self.turn_on = False

return False

else:

return True

一个本人的联系人信息

def get_copy_of_owner_contact(self):

if self.turn_on:

owner_copy = dorrigo_contact(

self.owner_first_name,

self.owner_last_name,

self.owner_phone_number

)

owner_copy.messages.append("Dorrigo: Thank you for choosing Dorrigo products")

return owner_copy

else:

return None

添加联系人

def add_contact(self, contact):

if self.turn_on:

flag = 0

while flag < self.max_contacts:

if self.contacts[flag] == None:

flag += 1

continue

if contact.fname == self.contacts[flag].fname

and contact.lname == self.contacts[flag].lname

and contact.pnumber == self.contacts[flag].pnumber:

return False

flag += 1

flag = 0

while flag < self.max_contacts:

if self.contacts[flag] == None:

self.contacts[flag] = contact

return True

flag += 1

return False

else:

return False

删除联系人

def remove_contact(self, contact):

if self.turn_on:

flag = 0

while flag < self.max_contacts:

if self.contacts[flag] == None:

flag += 1

continue

if contact.fname == self.contacts[flag].fname

and contact.lname == self.contacts[flag].lname

and contact.pnumber == self.contacts[flag].pnumber:

self.contacts[flag] = None

return True

flag += 1

return False

else:

return False

获取所有联系人的手机号

def get_number_of_contacts(self):

if self.turn_on:

flag = 0

contacts = []

while flag < len(self.contacts):

if self.contacts[flag] == None:

flag += 1

continue

contacts.append(self.contacts[flag])

flag += 1

return len(contacts)

else:

return -1

查找联系人

def search_contact(self, name):

if self.turn_on:

flag = 0

contacts = []

while flag < len(self.contacts):

if self.contacts[flag] is None:

flag += 1

continue

if self.contacts[flag].fname == name or self.contacts[flag].lname == name:

contacts.append(self.contacts[flag])

flag += 1

if contacts:

return contacts

完整代码如下:

from dorrigo_contact import dorrigo_contact

class dorrigo_mobile:

def __init__(self, max_contacts):

self.max_contacts = max_contacts

self.turn_on = False

self.battery_life = 25

self.connected = False

self.signal_strength = 0

self.owner_first_name = "Dorrigo"

self.owner_last_name = "Incorporated"

self.owner_phone_number = "180076237867"

self.owner_contect = dorrigo_contact(

self.owner_first_name,

self.owner_last_name,

self.owner_phone_number

)

self.owner_contect.messages.append("Dorrigo: Thank you for choosing Dorrigo products")

self.contacts = [None for i in self.max_contacts]

def get_copy_of_owner_contact(self):

if self.turn_on:

owner_copy = dorrigo_contact(

self.owner_first_name,

self.owner_last_name,

self.owner_phone_number

)

owner_copy.messages.append("Dorrigo: Thank you for choosing Dorrigo products")

return owner_copy

else:

return None

def add_contact(self, contact):

if self.turn_on:

flag = 0

while flag < self.max_contacts:

if self.contacts[flag] == None:

flag += 1

continue

if contact.fname == self.contacts[flag].fname

and contact.lname == self.contacts[flag].lname

and contact.pnumber == self.contacts[flag].pnumber:

return False

flag += 1

flag = 0

while flag < self.max_contacts:

if self.contacts[flag] == None:

self.contacts[flag] = contact

return True

flag += 1

return False

else:

return False

def remove_contact(self, contact):

if self.turn_on:

flag = 0

while flag < self.max_contacts:

if self.contacts[flag] == None:

flag += 1

continue

if contact.fname == self.contacts[flag].fname

and contact.lname == self.contacts[flag].lname

and contact.pnumber == self.contacts[flag].pnumber:

self.contacts[flag] = None

return True

flag += 1

return False

else:

return False

def get_number_of_contacts(self):

if self.turn_on:

flag = 0

contacts = []

while flag < len(self.contacts):

if self.contacts[flag] == None:

flag += 1

continue

contacts.append(self.contacts[flag])

flag += 1

return len(contacts)

else:

return -1

def search_contact(self, name):

if self.turn_on:

flag = 0

contacts = []

while flag < len(self.contacts):

if self.contacts[flag] is None:

flag += 1

continue

if self.contacts[flag].fname == name or self.contacts[flag].lname == name:

contacts.append(self.contacts[flag])

flag += 1

if contacts:

return contacts

def is_phone_on(self):

return True if self.turn_on else False

def set_phone_on(self, on):

if on:

if self.battery_life <= 5:

return False

else:

self.battery_life -= 5

self.turn_on = True

self.connected = False

return True

else:

self.turn_on = False

self.connected = False

return True

def get_battery_life(self):

return self.battery_life if self.turn_on else 0

def change_battery(self, new_battery_level):

if 0 <= new_battery_level <= 100:

self.turn_on = False

self.battery_life = new_battery_level

return True

else:

return False

def is_connected_network(self):

if self.turn_on:

if self.connected:

return True

else:

return False

else:

return False

def disconnect_network(self):

if self.turn_on:

if not self.connected:

self.signal_strength = 0

return True

def connect_network(self):

if self.turn_on:

if self.connected:

return True

else:

self.connected = True

if self.battery_life <= 2:

self.battery_life = 0

self.turn_on = False

return False

if self.signal_strength == 0:

self.signal_strength = 1

self.battery_life -= 2

return True

else:

return False

def get_signal_strength(self):

if self.turn_on:

return self.signal_strength if self.connected else 0

else:

return 0

def set_signal_strength(self, new_strength):

if self.turn_on:

if new_strength == 0:

self.connected = False

self.signal_strength = new_strength

return True

elif 0 < new_strength < 5:

self.connected = True

self.signal_strength = new_strength

return True

else:

return False

else:

return False

def charge_phone(self):

if self.battery_life + 10 <= 100:

self.battery_life += 10

return True

else:

return False

def use_phone(self, k):

if k:

if self.battery_life - k > 0:

self.battery_life -= k

return True

else:

self.battery_life = 0

self.turn_on = False

return False

else:

return True

简易的手机操作系统完成

如果有什么功能想添加,可以评论下面,我后面再去更新

上海版权声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com

展开全文READ MORE
手机操作系统操作系统手机
掌上钱龙手机版 vV5.97.59.00 最新安卓版手机炒股软件「掌上钱龙手机版 vV5.97.59.00 最新安卓版」 金立最全的使用技巧金立智能手机「金立最全的使用技巧」