通过今天的实验,写了这些代码帮助我们大家一起了解python与教学的应用
涉及到知识点:
- 类的使用
- 类变量
- 类方法
- 类中字典的应用
# !/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()
时间关系先写到这里,有时间会继续完善!