第五周作业(9,10章)

9-1~9-2

#coding:gbk
#9-1 餐馆

class Restaurant():
	def __init__(self, restaurant_name, cuisine_type):
		 self.restaurant_name = restaurant_name
		 self.cuisine_type = cuisine_type
		
	def describe_restaurant(self):
		print("restaurant's name is: " + self.restaurant_name)
		print("Its cuisine_type is: " + self.cuisine_type)
		
	def open_restaurant(self):
		print("We are open.")

restaurant = Restaurant('26号餐厅', 'a')
print(restaurant.restaurant_name)
print(restaurant.cuisine_type)

restaurant.describe_restaurant()
restaurant.open_restaurant()

print('-----------------------------------------')
'''
如果def describe_restaurant(self)和open_restaurant(self)忘记
在写上self形参,运行时会报告类似于:
TypeError: function() takes 0 positional arguments but 1 was given
的错误
'''

#9-2 三家餐馆

r1 = Restaurant('2号餐厅', 'a')
r2 = Restaurant('6号餐厅', 'b')
r3 = Restaurant('8号餐厅', 'c')

r1. describe_restaurant() 
r2. describe_restaurant() 
r3. describe_restaurant() 

9-3

#coding:gbk
#9-3 用户

class User():
	def __init__(self, first_name, last_name, age, gender):
		self.first_name = first_name
		self.last_name = last_name
		self.age = age
		self.gender = gender
	
	def describe_user(self):
		print('Its name is ' + self.first_name + ' ' + self.last_name)
		print('It is ' + str(self.age) + ' years old')
		print('Its gender is: ' + self.gender)
	
	def greet_user(self):
		print('Hello, ' + self.first_name + ' ' + self.last_name)
		
p1 = User('Timmy', 'X', 24, 'male')
p2 = User('Tom', 'H', 26, 'male')

p1.describe_user()
p1.greet_user()
p2.describe_user()
p2.greet_user()

9-4

#coding:gbk
#9-4 就餐人数

class Restaurant():
	def __init__(self, restaurant_name, cuisine_type):
		 self.restaurant_name = restaurant_name
		 self.cuisine_type = cuisine_type
		 number_served = 0
		
	def describe_restaurant(self):
		print("restaurant's name is: " + self.restaurant_name)
		print("Its cuisine_type is: " + self.cuisine_type)
		
	def open_restaurant(self):
		print("We are open.")

	def set_number_served(n):
		number_served = n
	
	def  increment_number_served():
		number_served++

9-5

#coding:gbk
#9-5 尝试登录次数

class User():
	def __init__(self, first_name, last_name, age, gender, login_attempts):
		self.first_name = first_name
		self.last_name = last_name
		self.age = age
		self.gender = gender
		self.login_attempts = login_attempts
	
	def describe_user(self):
		print('Its name is ' + self.first_name + ' ' + self.last_name)
		print('It is ' + str(self.age) + ' years old')
		print('Its gender is: ' + self.gender)
	
	def greet_user(self):
		print('Hello, ' + self.first_name + ' ' + self.last_name)
	
	def increment_login_attempts(self):
		self.login_attempts = self.login_attempts + 1
		
	def reset_login_attempts(self):
		self.login_attempts = 0
		
p1 = User('Timmy', 'X', 24, 'male', 3)


p1.increment_login_attempts()
p1.increment_login_attempts()
p1.increment_login_attempts()
print(p1.login_attempts)

p1.reset_login_attempts()
print(p1.login_attempts)


9-6

#coding:gbk
#9-6 冰淇淋小店

class Restaurant():
	def __init__(self, restaurant_name, cuisine_type):
		 self.restaurant_name = restaurant_name
		 self.cuisine_type = cuisine_type
		
	def describe_restaurant(self):
		print("restaurant's name is: " + self.restaurant_name)
		print("Its cuisine_type is: " + self.cuisine_type)
		
	def open_restaurant(self):
		print("We are open.")
		
class IceCreamStand(Restaurant):
	def __init__(self, restaurant_name, cuisine_type, flavors):
		super().__init__(restaurant_name, cuisine_type)
		self.flavors = flavors
	
	def print_icecream(self):
		print(self.flavors)
	
fl = ['a', 'b', 'c']
i = IceCreamStand('2号店', 'k', fl)
i.print_icecream()
	

9-7

#coding:gbk
#9-7 管理员

class User():
	def __init__(self, first_name, last_name, age, gender):
		self.first_name = first_name
		self.last_name = last_name
		self.age = age
		self.gender = gender
	
	def describe_user(self):
		print('Its name is ' + self.first_name + ' ' + self.last_name)
		print('It is ' + str(self.age) + ' years old')
		print('Its gender is: ' + self.gender)
	
	def greet_user(self):
		print('Hello, ' + self.first_name + ' ' + self.last_name)
		
class Admin(User):
	def __init__(self, first_name, last_name, age, gender, privileges):
		super().__init__(first_name, last_name, age, gender)
		self.privileges = privileges
	
	def show_privileges(self):
		print('管理员' + self.first_name + self.last_name + '的权限有:')
		for pri in self.privileges:
			print(pri)

pri = ["can add post", "can delete post", "can ban user"]
a = Admin('于', '舟', 20, 'female', pri)
a.show_privileges()

9-8

#coding:gbk
#9-8 权限

class Privileges():
	def __init__(self, privileges):
		self.privileges = privileges
	
	def show_privileges(self):
		print('管理员的权限有:')
		for pri in self.privileges:
			print(pri)
			
class User():
	def __init__(self, first_name, last_name, age, gender):
		self.first_name = first_name
		self.last_name = last_name
		self.age = age
		self.gender = gender
	
	def describe_user(self):
		print('Its name is ' + self.first_name + ' ' + self.last_name)
		print('It is ' + str(self.age) + ' years old')
		print('Its gender is: ' + self.gender)
	
	def greet_user(self):
		print('Hello, ' + self.first_name + ' ' + self.last_name)
		
class Admin(User):
	def __init__(self, first_name, last_name, age, gender):
		super().__init__(first_name, last_name, age, gender)
		self.privileges = Privileges(["can add post", "can delete post", "can ban user"])
	
a = Admin('于', '舟', 20, 'female')
a.privileges.show_privileges()

10-1

#coding:gbk

print('------------1.读取整个文件------------')
with open('If by Life You Were Deceived.txt') as f:
	content = f.read() #read()发挥一个长字符串
	print(content)

print('\n------------1.遍历文件对象------------')
with open('If by Life You Were Deceived.txt') as f:
	content = f.readlines() #readlines 返回一个列表,每一行为一个元素
	for line in content:
		print(line.rstrip())
		

print('\n-------1.存储为列表,在with外打印---------')
with open('If by Life You Were Deceived.txt') as f:
	lines = f.readlines()

for line in lines:
	print(line.rstrip())	


10-2

print('\n--------------4.单词替换-------------')
for line in lines:
	'''                      !注意:replace的作用是暂时的,这样写输出的还是
	line.replace('life', 'a') 原来的单词
	print(line)
	'''
	print(line.replace('life', 'someone').rstrip())


10-3
#coding:gbk

str = input("请输入你的名字: ")
with open('guest.txt', 'w') as f:
	f.write(str)
10-4
#coding:gbk
flag = 1
with open('guest_book.txt', 'w') as f:
	while(flag != '0'):
		name = input("请输入你的名字,输入0退出:")
		if name == '0':
			break
		print("你好, " + name)
		f.write(name+'\n')
	
	

10-6~10-7
#coding:gbk
print('这是一个简单加法计算器,输入quit退出\n')

while(1):
	a = input('请输入数字a: ')
	if a == 'quit':
		break
	b = input('请输入数字b: ')
	if b == 'quit':
		break
	try:
		c = int(a) + int(b)
	except ValueError:
		print('你输入的不是数字哦~\n')
	else:
		print('答案是:' + str(c) + '\n')

10-8
#coding:gbk
files = ['cats.txt', 'dogs.txt']
for file in files:
	try:
		with open(file) as f:
			content = f.read()
	except FileNotFoundError:
		print('找不到这个文件(╥╯^╰╥)\n')
	else:
		print(content)
10-9
#coding:gbk
files = ['cats.txt', 'dogs.txt']
for file in files:
	try:
		with open(file) as f:
			content = f.read()
	except FileNotFoundError:
		#print('找不到这个文件(╥╯^╰╥)\n')
		pass
	else:
		print(content)
		
		
10-10
#coding:gbk
textname = "Alice's Adventures in Wonderland.txt"


with open(textname, 'r') as f:
	contents = f.read()
'''
except FileNotFoundError:
	print('找不到文件(╥╯^╰╥)\n')
'''
words = contents.split()
counter = len(words)
num = contents.lower().count('Alice')
msg = '《爱丽丝梦游仙境》这本书大约有:' + str(counter) +'个单词'
print(msg + '\n其中’Alice‘这个单词出现了' + str(num) +'次。')

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值