python大题补充

 斐波那契数

import sys
def fibonacci(n):  # 生成器函数 - 斐波那契
    a, b, counter = 0, 1, 0
    while True:
        if (counter > n):
            return
        yield a
        a, b = b, a + b
        counter += 1

f = fibonacci(10)  # f 是一个迭代器,由生成器返回生成

while True:
    try:
        print(next(f), end=" ")
    except StopIteration:
        sys.exit()

 自定义异常

from geometry.test import NegativeNumberError


def main():
    try:
        num1 = input("请输入第一个数字:")
        num2 = input("请输入第二个数字:")

        # 尝试将输入转换为浮点数
        try:
            num1_float = float(num1)
            num2_float = float(num2)
        except ValueError:
            raise ValueError("请输入有效的数字")

        # 检查是否输入了负数
        if num1_float < 0 or num2_float < 0:
            raise NegativeNumberError("错误:输入了负数")

        # 计算并显示结果
        result = num1_float / num2_float
        print(f"结果为:{result}")

    except ZeroDivisionError:
        print("错误:不能除以零")
    except NegativeNumberError as e:
        print(e)
    except ValueError as e:
        print(e)

if __name__ == "__main__":
    main()

编程题(共4题,65分)

      1、编写程序,用*打印一个如下所示的等腰直角三角形,将测试结果截图。

        *

        * *

        * * *

        * * * *

for i in range(1,5):

    for j in range(1,i+1):

        print("*",end="")

    print()

    

  2、编写猜数字小游戏。(20分)

要求使用random模块的randint()函数随机生成20以内的数字,用户有五次机会从键盘输入猜测的数字,猜大提示猜大了,猜小提示猜小了,若在规定次数内猜对则退出程序,否则继续猜数字直至次数用尽。将测试结果截图。

from random import randint

number = randint(1,20)

for i in range(5):

    guess = int(input("请输入你猜的数字:"))

    if guess > number:

        print("大了")

    elif guess < number:

        print("小了")

    else:

        print("答对了")

        break

3、类与继承

         (1)创建一个Person类,在构造函数中初始化姓名name、年龄age属性,创建有返回值的get_name方法获取人的姓名,有返回值的get_age函数获取人的年龄;

class Person:

    def __init__(self,name,age):

        self.name = name

        self.age = age

    def get_name(self):

        return self.name

    def get_age(self):

        return self.age

2)创建Student类继承Person类的属性和方法,在构造函数中调用基类的构造函数初始化共有的name、age属性,并将Student类独有的成绩属性course(包括语文、数学、英语三门成绩)进行初始化。创建有返回值的get_MaxScore方法用来返回3门科目中的最高分数。使用实例

s1 = Student(‘小明’,18,[93,68,76])对Student类的三种方法进行测试,并输出结果,将结果截图。

class Student(Person):

    def __init__(self,name,age,score):

        Person.__init__(self,name,age)

        self.score = score

    def get_MinScore(self):

        self.score.sort()

        return self.score[-1]

s1 = Student("小明",18,[93,68,76])

print(s1.get_name())

print(s1.get_age())

print(s1.get_MinScore())

你可能感兴趣的:(python,numpy,开发语言)