Python ----- Capítulo 6 Prueba en el aula

1. La programación orientada a objetos se centra en el diseño de (B).

A. Objeto B. Clase C. Algoritmo D. Datos

2. En la programación orientada a objetos, el mecanismo para organizar los atributos y el comportamiento de los objetos en el mismo módulo se llama (C).

A. Resumen B. Herencia C. Encapsulación D. Polimorfismo

3. En la programación orientada a objetos, la clase tiene una relación con el mundo exterior a través de (D).

A. Objeto B. Clase C. Mensaje D. Interfaz

4. En la programación orientada a objetos, el mecanismo de comunicación entre objetos y objetos es (C).

A. Objeto B. Clase C. Mensaje D. Interfaz

7. Con respecto a las variables de clase y las variables de instancia, la siguiente declaración es correcta (ABCDE).

A. El paquete debe contener __init__.py antes de poder llamar a los módulos del paquete.
B. Las variables de instancia son variables que están vinculadas a objetos de instancia Las variables de instancia son significativas solo después de que se crea el objeto de instancia.
C. Las variables de instancia se definen en los métodos de clase, generalmente en el método __init __ ().
D. Las variables de instancia también se pueden definir en otros métodos no __ init __ ().
E. Las variables de instancia también se pueden crear dinámicamente después de crear el objeto de instancia.

Respuesta: ABCDE

8. Con respecto a los atributos, la siguiente declaración es correcta (ABCD).

A. Los miembros de datos también se denominan atributos y se dividen en atributos públicos y atributos privados.
B. Para no destruir la encapsulación de la clase, puede usar el decorador @property para acceder a propiedades privadas y verificar las propiedades.
C. @property decorator es una propiedad especial, que es responsable de llamar un método a una propiedad.
D. Setter Este decorador permite la asignación a propiedades (funciones) decoradas con @property, pero el decorador setter debe estar detrás de la propiedad y los nombres de las dos propiedades decoradas (funciones) deben ser las mismas.

Respuesta: ABCD

9. Juicio: a los miembros privados no se puede acceder directamente desde fuera de la clase, y generalmente se accede y se opera dentro de la clase. De manera especial, "nombre de objeto._ nombre de clase __xxx" también puede acceder a miembros privados en programas externos, pero esto destruirá la encapsulación de la clase y no se recomienda.

Respuesta: sí

10. Diseñe una calculadora simple para el pago mensual de la hipoteca de los compradores de viviendas, y calcule el interés total y el monto de reembolso mensual de acuerdo con la siguiente fórmula:

Interés total = monto del préstamo * tasa de interés
Monto de reembolso mensual = (monto del préstamo + interés total) /
período de préstamo Los diferentes períodos de préstamo tienen diferentes tasas de interés. Aquí, solo hay tres tipos de años y tasas de interés como se muestra en la siguiente tabla.
Tasa de interés
anual 3 años (36 meses) 6.03%
5 años (60 meses) 6.12%
20 años (240 meses) 4.39%

class LoanCaculator():
    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 = LoanCaculator(loan, time)
print("月供为: %f" % loan_caculate.get_monthly_payment())

Resultado de la operación:
Ingrese el monto del préstamo: 10000

Seleccione el período del préstamo: 1.3 años (36 meses) 2.5 años (60 meses)
3.20 años (240 meses) Oferta de marzo : 44.329167

11. Diseñe las clases Bird y fish, ambas heredadas de la clase Animal, implemente su método print_info (), información de salida.

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()

Resultado:
¡soy un pájaro rojo,
tengo 4 años este año!
Soy un pez con un peso de 5 kg. ¡
Tengo 2 años este año!

12. Utilice el polimorfismo para crear mediante programación una clase de teléfono Teléfonos y definir el método de llamada call (). Cree dos subclases: Apple phone class iPhone y Android phone class APhone, y anule la llamada al método en sus respectivas clases. Cree una persona humana y defina el método para llamar usando un teléfono 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())

Resultado de la operación:
usar un teléfono con función para hacer una llamada
usando un teléfono móvil de Apple para hacer una llamada
usando un teléfono móvil con Android

27 artículos originales publicados · elogiados 3 · visitas 1416

Supongo que te gusta

Origin blog.csdn.net/weixin_41860600/article/details/105485281
Recomendado
Clasificación