Python实战训练营1

课堂ppt

https://pdf.ceshiren.com/book/python_programming/ppt/[训练营]python脚本编写实战1.html

课堂xmind脑图

Python训练营.xmind.zip (53.8 KB)

实战内容

python基础语法
python流程控制
python内置数据结构
python函数

python pep8规范

https://peps.python.org/pep-0008/

实战题目

题目0:

使用python编写一个函数,打印出99乘法表

def solution():
    for i in range(1, 10):
        for j in range(1, i + 1):
            print(f"{i}*{j}={i * j}", end=" ")
            if i == j:
                print("")


if __name__ == '__main__':
    solution()

题目1:

看过《射雕英雄传》的人,可能会记得,黄蓉与瑛姑见面时,曾出过这样一道数学题:今有物不知其数,三三数之剩二,五五数之剩三,七七数之余二,问几何?

要求:请编写一段python代码,找出1到100(包含首尾)之间的所有符合条件的整数。

def hea1():
    for x in range(1, 101):
        if x % 3 == 2 and x % 5 == 3 and x % 7 == 2:
            print(x)


def hea2():
    number = 1
    while number <= 100:
        if number % 3 == 2 and number % 5 == 3 and number % 7 == 2:
            print(number)
        number += 1

题目2:

今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?

这四句话的意思是:有若干只鸡和兔子同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问:笼中各有多少只鸡和兔?

# 设 鸡x只,兔 y只
for x in range(36):
    for y in range(36):
        if x + y == 35 and (2 * x + 4 * y == 94):
            print(f"鸡:{x},兔{y}")

for i in range(36):
    if 2 * i + 4 * (35 - i) == 94:
        print(f"鸡{i},兔子{35 - i}")

课堂作业

复习Python面向对象知识,完成练习题:

1、创建一个类【动物类】(Animal)

  • 类里有属性(名称,颜色,年龄,性别)
  • 类方法有:会叫,会跑

2、创建子类【猫】

  • 继承【动物类】,重写父类的__init__方法,继承父类的属性
  • 添加一个新的属性,毛发=短毛
  • 添加一个新的方法, 会捉老鼠,
  • 重写父类的【会叫】的方法,改成【喵喵叫】

3、创建子类【狗】

  • 继承【动物类】,复写父类的__init__方法,继承父类的属性
  • 添加一个新的属性,毛发=长毛
  • 添加一个新的方法, 会看家
  • 重写父类的【会叫】的方法,改成【汪汪叫】

4、在入口函数中创建类的实例

  • 创建一个猫猫实例,调用捉老鼠的方法
  • 打印出:【猫猫的姓名,颜色,年龄,性别,毛发,捉到了老鼠】
  • 创建一个狗狗实例,调用【会看家】的方法
  • 打印出:【狗狗的姓名,颜色,年龄,性别,毛发】

第一题
图片

第二题

image



老师结果为何会多出一个2

image

image

def Demo_1():

for i in range(1, 101):
    if i % 3 == 2 and i % 5 == 3 and i % 7 == 2:
        print(i)

if name==‘main’:
Demo_1()

def demo_2():
for i in range(1, 36):
for j in range(1,36):
if i+j == 5 and (i2+j4 ) == 94:
print(f’鸡有{i}只,兔有{j}只’)

if name==‘main’:
demo_2()

for i in range(0,100):
if i % 3 == 2:
# print(i)
if i % 5 == 3:
# print(i)
if i % 7 == 2:
print(i)


for i in range(35):
if (i*2) + (35-i)*4 == 94:
print(i)

head = 35
foot = 94
x = (foot - head * 2) / 2
print(“兔子的数量” , int(x))
print(“鸡的数量” , int(head-x))

课堂作业:

# -*- coding: UTF-8 -*-
class Animal:
    def __init__(self,name,color,age,sex):
        self.name = name
        self.color = color
        self.age = age
        self.sex = sex
    def run(self,name):
        print(f"{name}会跑")
    def call(self,name):
        print(f"{name}会叫")

class Cat(Animal):
    def __init__(self,name,color,age,sex,hair):
        super().__init__(name,color,age,sex)
        self.hair=hair

    def catch_mouse(self):
        print(f"{self.name}会抓老鼠")

    def call(self):
        super().call(self.name)
        print("喵喵叫")

class Dog(Animal):
    def __init__(self,name,color,age,sex,hair):
        super().__init__(name,color,age,sex)
        self.hair = hair
    def house(self):
        print(f"{self.name}会看家")

    def call(self):
        super().call(self.name)
        print("汪汪叫")

if __name__=='__main__':
    cat = Cat("小黄","黄色",5,"男","短毛")
    cat.catch_mouse()
    cat.call()
    print(f"猫猫的姓名为{cat.name},颜色:{cat.color},年龄:{cat.age},性别:{cat.sex},毛发为{cat.hair},抓到了老鼠")
    dog = Dog("小白","白黑色",3,"女","长毛")
    dog.house()
    dog.call()
    print(f"狗狗的姓名为{dog.name},颜色:{dog.color},年龄:{dog.age},性别:{dog.sex},毛发为{dog.hair}")

运行结果显示:
图片

1 个赞