编写酒店类
用于计算住宿开销
酒店有会员卡可以打九折
每天早餐15元
根据住宿天数返回总费用
附:新增判断
class cishan():
def __init__(self, day = 0, liusu = 200, breakfast = 15, discount = 1):
self.day = day
self.liusu = liusu
self.breakfast = breakfast
self.discount = discount
def qiantai(self) :
print("您一共消费{}".format((self.liusu * 1 + self.breakfast) * self.day,))
def zheko(self) :
print("尊贵的慈善会员,您消费折扣后为:{}".format((self.liusu * self.discount + self.breakfast) * self.day))
a = input('请问您是否有会员卡?Y/N:')
if a == 'Y' :
feng = cishan()
feng.day = 10
feng.discount = 0.9
feng.zheko()
else :
feng = cishan()
feng.day = 10
feng.qiantai()
验证每个魔法函数工具
__init__
__str__
__call__:该方法的功能类似于在类中重载 () 运算符,使得类实例对象可以像调用普通函数那样,以“对象名()”的形式使用
__del__:__del__() 方法,功能正好和 __init__() 相反,其用来销毁实例化对象。
class ceshi() :
def __str__(self) :
return "ceshi1"
def __call__(self):
print('ceshi2')
def __call__(self,name,add) :
print("调用acll",name,add)
def __del__(self):
print("调用__del__消除对象,释放空间")
Ceshi = ceshi()
print(Ceshi)
Ceshi()
Ceshi("csdn,","https://blog.csdn.net/Feng_Blue_?spm=1011.2124.3001.5343")
del Ceshi
异常捕获:除法判断
编写除法程序通过异常捕获除法判断:
提示用户输入一个数字作为除数
如果用户按下Ctrl+C 或Ctrl+D 则退出程序
如果用户输入非数字字符,提示用户应该输入数字
如果用户输入0,提示用户0不能作为除数 如:3/0
try:
bob = int(input("公式:100 / ? 请输入一位数作为除数:"))
print("得出结果为{}".format(100 / bob))
except ValueError as e :
print("亲,请输入数字")
except KeyboardInterrupt as e :
print("\r\n程序结束")
except ZeroDivisionError as e :
print("0不能作为除数")
主机存活检测程序设计
利用scapy 框架和icmp 协议设计实现该功能
把存活的IP 地址另存到文件中
[拓展]设计图形化界面
from os import close
from scapy.all import *
import logging
for i in range(1,255):
dst = "10.9.67.{}".format(i)
pkt = IP(src = "10.9.67.241", dst = dst)/ICMP()
res = sr1(pkt, timeout = 0.1, verbose = False)
if res and res.code == 0:
with open('./ch.txt','a') as f :
f.write(dst + '\n')
print("[+]DONE!")