天天看点

疯狂Python讲义第九章练习

1.新建一个文件名为:geometry.py,代码如下:

# -*- coding: utf-8 -*-
'''
Created on 2020年1月29日

@author: guzl86
本模块提供两个方法,一个是打印三角形,一个是打印菱形
1. 定义一个 geometry 模块,在该模块下定义 pr int_triangle(n)和 print_diamand(n)两个函数,分
别用于在控制台用星号打印三角形和菱形,并为模块和函数都提供文档说明 。
'''
def print_triangle(n):
    '''
            使用*号,打印高度为n的三角形
     n必须大于1,否则将报ValueError异常
    '''
    if n < 1:
        raise ValueError("输出入参数n应大于1")
    for i in range(n):
        print(" " * (n-i-1),"*" * (i*2+1))
    pass
def print_diamand(n):
    '''
            使用*号,打印高度为n的菱形
     n必须为奇数,否则将报ValueError异常
    '''
    if n%2 != 1:
        raise ValueError("输入参数n应为奇数")
    n = (n+1)//2
    for i in range(n):
        print(" " * (n-i-1),"*" * (i*2+1))
    for i in range(n-2,-1,-1):
        print(" " * (n-i-1),"*" * (i*2+1))
    pass
__all__=['print_triangle','print_diamand']
           

2.创建一个fk_class.py文件,文件代码如下:

# -*- coding: utf-8 -*-
'''
Created on 2020年1月29日

@author: guzl86
本模块为疯狂教室,包含老师,学生,计算机三个类
2. 定义一个 fk_class 模块,在该模块下定义 Teacher 、 Student 和 Computer 三个类 ,并为模块
和类都提供文档说明 。
'''
class Teacher:
    '''
    教师类,
    '''
    def __init__(self):
        '''
        创建一个教师
        '''
        print("创建一个教师")
        pass
    def fun1(self):
        print('教师调用fun1')
        pass
    def fun2(self):
        print('教师调用fun2')
        pass

class Student:
    '''
    教师类,
    '''
    def __init__(self):
        '''
        创建一个学生
        '''
        print("创建一个学生")
        pass
    def fun1(self):
        print('学生调用fun1')
        pass
    def fun2(self):
        print('学生调用fun2')
        pass
class Computer:
    '''
    教师类,
    '''
    def __init__(self):
        '''
        创建一个计算机
        '''
        print("创建一个计算机")
        pass
    def fun1(self):
        print('计算机调用fun1')
        pass
    def fun2(self):
        print('计算机调用fun2')
        pass
           

3.略