Python 代码 —— 有空多看看

问卷调查结果搜集器:

class Survey():
	def __init__(self,question):
		self.question=question
		self.response=[]
	#显示调查问卷的题目
	def show_question(self):
		print(self.question)
	#存储问卷搜集的答案
	def store_response(self,new_response):
		self.response.append(new_response)

#自定义一个实名调查问卷的新类RealNameSurvey,继承自Survey类
class RealNameSurvey(Survey):
	def __init__(self,question):
		Survey.__init__(self,question)
		#因为名字跟籍贯相挂钩,所以需要用字典来存储
		self.response={}
	#存储问卷搜集的答案(覆盖父类的类方法)
	def store_response(self,name,new_respose):
		self.response[name]=new_response

survey=RealNameSurvey('你的籍贯地址是哪里?')
survey.show_question()
while True:
	response=input('请回答问卷问题,按q 退出:')
	if response =='q':
		break
	name=input('请输入回答者姓名:')
	survey.store_response(name,response)
for name,value in survey.response.items():
	print(name+':'+value)

运行结果:

在这里插入图片描述

在python中,如果方法名形式是左右带双下划线的,那么就属于特殊方法(如初始化方法),有着特殊的功能。
只要在类中定义了_ _ str _ _(self) 方法(str是函数名),那么当使用 print 打印实例对象的时候,就会直接打印出在这个方法中return 的数据。

class Book:
	def __init__(self,name,author,comment,state=0):
		self.name=name
		self.author=author
		self.commet=commet
		self.state=state
		#state 表示书的状态,判断是否已借出	
	def __str__(self):
		if self.state==0:
			status='未借出'
		else:
			status='已借出'
		return '名称:《%s》 作者:%s 推荐语:%s\n状态:%s ' % (self.name, self.author, self.comment, status)

#传入参数,创建实例对象
book1=Book('像自由一样美丽','林达','你要用光明来定义黑暗,用黑暗来定义光明')
print(book1)
#直接打印对象即可,不能写成print(book1._ _str_ _))

在这里插入图片描述

案例三:图书馆里系统登陆页面

def menu(self):
	print('欢迎光临图书管理系统')
	while (true):#这个地方用的很好
		print('1.查询所有书籍\n2.添加书籍\n3.借阅书籍\n4.归还书籍\n5.退出系统\n')
		choice=int(input('请输入数字选择对应的功能:'))
		if choice==1:
			self.show_all_book()#调用显示书籍的方法
		elif choice==2:
			self.add_book()#调用添加书籍的方法
		elif choice==3:
			self.lend_book()#调用借阅书籍的方法
		elif choice==4:
			self.return_book()
		else:
			print('感谢使用!')
			break

按照输入的作者名查询作者相关书籍:

步骤:

第一步:判断输入的作家在不在作家列表里
第二步:如果在则表示这个作者名在books列表里有,通过遍历书籍找到整本书的信息,再核对输入的作者名和整本信息里对应的作者名

def show_author_book(self):
	author=input('请输入像查询的作家名:')
	if author in self.authors:
	#这个地方千万不要忘记写self,直接写authors是查不出来的,self表示自己,是指当前类的属性
		print(author+'的作品有:')
		for book in self.books:
			if book.author==authors:
				print(book)
	else:
		print('很可惜,还没有录入这个作家的书籍!')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值