21.09.16 Python

编写酒店类

用于计算住宿开销

酒店有会员卡可以打九折

每天早餐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!")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值