9-3、9-5、9-7、9-8
class Privileges(): def __init__(self): self.privileges = ['can add post', 'can delete post', 'can ban user'] def show_privileges(self): for privilege in self.privileges: print("Admin " + privilege) class User(): def __init__(self, first_name, last_name): self.first_name = first_name self.last_name = last_name self.login_attempts = 0 def describe_user(self): print("This user is " + self.first_name.title() + " " + self.last_name.title()) def greet_user(self): print("Hello, " + self.first_name.title() + " " + self.last_name.title()) def increment_login_attempts(self): self.login_attempts += 1 def reset_login_attempts(self): self.login_attempts = 0 class Admin(User): def __init__(self, first_name, last_name): super(Admin, self).__init__(first_name, last_name) self.privileges = Privileges() user1 = User('kawhi', 'leonard') user1.describe_user() user1.greet_user() user2 = User('tim', 'duncan') user2.describe_user() user2.greet_user() user3 = User('klay', 'thompson') user3.describe_user() user3.greet_user() user3.increment_login_attempts() user3.increment_login_attempts() print(user3.login_attempts) user3.reset_login_attempts() print(user3.login_attempts) user4 = Admin('shaun', 'livingston') user4.privileges.show_privileges()
9-14
from random import randint class Die(): def __init__(self, sides = 6): self.sides = sides def roll_die(self): return randint(1, self.sides) die = Die() for i in range(10): print(die.roll_die()) die = Die(10) for i in range(10): print(die.roll_die()) die = Die(20) for i in range(10): print(die.roll_die())
10-4
file_name = 'guest_book.txt' with open(file_name, 'w') as file_object: while True: name = input("Please input your name(Enter 'q' to quit)") if name == 'q': break print("Hello, " + name) file_object.write(name + '\n')
10-7
print("Give me two numbers, and I'll add them.") print("Enter 'q' to quit") while True: a = input("The first number:") if a == 'q': break b = input("The second number:") if b == 'q': break try: c = int(a) + int(b) except ValueError: print("You should input a number.") else: print(c) break
10-12
import json def get_number(): file_name = 'number.json' try: with open(file_name) as f_obj: number = json.load(f_obj) except FileNotFoundError: return None else: return number def FavoriteNumber(): number = get_number() if number: print("I know your favorite number! It's " + str(number)) else: number = input("What is your favorite number?") file_name = 'number.json' with open(file_name, 'w') as f_obj: json.dump(number, f_obj) FavoriteNumber()