【类扩展学习】初中物理密度知识与Python类的学习拓展

通过今天的实验,写了这些代码帮助我们大家一起了解python与教学的应用

涉及到知识点:

  1. 类的使用
  2. 类变量
  3. 类方法
  4. 类中字典的应用
# !/usr/bin/env python
# -*-coding:utf-8 -*-
"""
# File      :01.py
# Time      :2022/10/9 15:39
# Author    : Detian_teacher
"""
import random
class Ball:
    result = []
    master = {
        '木': 0.8, '冰': 0.9, '铁': 7.9, '铝': 2.7, '煤油': 0.8, '铜': 8.9, '酒精': 0.8, '水银': 13.60
    }

    def __init__(self,rou,color='红色',size=2,weight=1,mater='气'):
        self.color = color
        self.size = size
        self.weight = weight
        self.mater = mater
        self.rou = rou
        self.direction = '向下'

    def kick(self):
        print(f'{self.color}重为{self.weight}球被踢进球门了')

    def throw(self):
        print(f'直径为{self.size}球被抛向空中')
    #膨胀的球
    def inflate(self):
        """膨胀的球"""
        self.size = input('气球直径是多少?')
        if self.size >= 3:
            self.direction = '向上'
        else:
            self.direction = '向下'

        print(f'直径为{self.size}米的{self.mater}球{self.direction},打气后开始膨胀了,飞行方向会{self.direction}')

    def solid(self):
        """固体球"""
        self.master = input('请输入球的材质')
        self.weight = 2
        if self.master == '铁':
            self.direction = '向下'
        elif self.master == '木':
            self.direction = '向上'
        print(f'实心{self.master}球,质量为{self.weight}kg,放入水中方向{self.direction}')

    def cuma(self):
        '''
        确定密度材料是哪一款,同时对于材料放入水中的状态进行了判断。
        :return:
        '''




        for k,v in Ball.master.items():
            Ball.master = k
            self.rou = v
            if v < 1.0 and v != 0.8:
                self.direction = '向上'
                Ball.result.append(f'您当前拿到的球是{Ball.master}球,它的密度是{self.rou}×10³kg/m³,如果放到水中时它的运动方向是{self.direction}')
            elif v == 0.8  and (k == '煤油' or k == '酒精'):
                self.direction = '向上'
                Ball.result.append(f'您当前拿到的球是包裹包装的{Ball.master}球,它的密度是{self.rou}×10³kg/m³,如果放到水中时它的运动方向是{self.direction}')

            elif v > 1.0:
                self.direction = '向下'
                Ball.result.append(f'您当前拿到的球是{Ball.master}球,它的密度是{self.rou}×10³kg/m³,如果放到水中时它的运动方向是{self.direction}')
                if v == 13.60:
                    Ball.result.append(f'您当前拿到的球是包裹着{Ball.master}的球,它的密度是{self.rou}×10³kg/m³,如果放到水中时它的运动方向是{self.direction}')

        print(random.choice(Ball.result))


    def formula(self):

        print('计算密度的公式ρ=m/V')
        self.weight = round(float(input('请输入质量m(kg):')),2)
        self.size = round(float(input('请输入体积V(m³):')),2)
        self.rou = self.weight / self.size

        pd = ''
        if self.rou in Ball.master.values():
            for k,v in Ball.master.items():
                if self.rou == v:
                    print(f'我们的小球材料是{k}球,它的密度是{self.rou}×10³kg/m³。')

        else:
            print(f'我们的小球材料未知,它的密度是{round(self.rou,2)}×10³kg/m³。')




ball = Ball(1.0)

ball.formula()

时间关系先写到这里,有时间会继续完善!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值