Python课堂筆记【第六期丨文件练习】( ̄o ̄)

– 乌拉: Python程序设计 【2020 萨大·文件练习】


文件操作:

1、#Eg0: 同级目录下创建宴会邀请函

def invite():
	with open('邀请函.txt',mode='w') as kitty:
		kitty.write('诚挚邀请您来参加本次宴会')
		print("滴~请查收您信封 /微笑")
			#微笑查收可以删除,只是无聊时添加的
invite()

2、#Eg1:在上题基础上添加内容best regards、李雷

def invite():
	with open('邀请函.txt',mode = 'a') as kitty:
		kitty.write('\nbest regards')
		kitty.write('\n李雷')
		print("滴~请查收您信封 /微笑")
invite()

3、#Eg2:在上题基础上将文件分别发送给旭丁、徐美丽、韩梅梅
def invite():
	names = ['旭丁', '徐美丽', '韩梅梅']
	#那个题目原名是:丁一,王美丽,韩梅梅 /一样,无聊改的
	with open('邀请函.txt', mode='r') as kitty:
		content = kitty.read()
		for name in names:
			with open('%s邀请函.txt' % name, mode='w') as hello:
				hello.write('%s:\n' % name)
				hello.write(content)
				print("滴~请查收您信封 /微笑")
invite()

4、#Eg3:假设邀请函现在的目录是D:/test/邀请函.txt,需要在D:/test/路径下的以各位收件人名字命名的文件夹下,将相应的邀请函邮件放入

def invite():
	names = ['旭丁', '徐美丽', '韩梅梅']
	#那个题目原名是:丁一,王美丽,韩梅梅 /一样,无聊改的
	with open('邀请函.txt', mode='r') as kitty:
		content = kitty.read()
		for name in names:
			with open('%s邀请函.txt' % name, mode='w') as hello:
				hello.write('%s:\n' % name)
				hello.write(content)
				print("滴~请查收您信封 /微笑")
invite()

附:面向对象

5、#Eg4:设计Bird、fish类,都继承自Animal类,实现其方法print_info(),输出信息

class Animal():
    def __init__(self,age):
        self.age = age
    def print_info(self):
        print("我今年%d岁了!" % (self.age))
class Bird(Animal):
    def __init__(self, color):
        super().__init__(4)
        self.color = color
    def print_info(self):
        print("我是一只%s的鸟" % (self.color))
        super().print_info()
class Fish(Animal):
    def __init__(self, weight):
        super().__init__(2)
        self.weight = weight
    def print_info(self):
        print("我是一只%d斤重的鱼" % (self.weight))
        super().print_info()
bird = Bird("红色")
bird.print_info()
fish = Fish(5)
fish.print_info()

6、#Eg5:设计一个简单的购房商贷月供计算器类,按照以下公式计算总利息和每月还款金额:

class Caculator():
    def __init__(self, loan, time):
        self.loan = loan
        if time == "1":
            self.time = 3
        elif time == "2":
            self.time = 5
        elif time == "3":
            self.time = 20
    def get_total_interests(self):
        return self.loan * self.get_interests_rate()
    def get_interests_rate(self):
        if self.time == 3:
            return 0.0603
        elif self.time == 5:
            return 0.0612
        elif self.time == 20:
            return 0.0639
    def get_monthly_payment(self):
        return (self.loan + self.get_total_interests()) / (self.time * 12)
loan = int(input("请输入贷款金额:"))
time = input("请选择贷款年限:1.3年(36个月) 2.5年(60个月) 3.20年(240个月)")
loan_caculate = Caculator(loan, time)
print("月供为:%f" % loan_caculate.get_monthly_payment())

7、#Eg6:创建一个人类Person,定义使用手机打电话的方法use_phone_call():

class Phone():
    def call(self):
        print("使用功能机打电话")
class IPhone(Phone):
    def call(self):
        print("使用苹果手机打电话")
class APhone(Phone):
    def call(self):
        print("使用安卓手机打电话")
class Person():
    def use_phone_call(self, phone):
        phone.call()
person = Person()
person.use_phone_call(Phone())
person.use_phone_call(IPhone())
person.use_phone_call(APhone())
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值