Python(19)--4月28日打卡

1、模拟掷骰子5.0

"""
版本:5.0
功能:科学计算
"""

import matplotlib.pyplot as plt
import numpy as np
#修改一些不能正确输出的文字(解决中文显示问题)
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False

def main():
    """
    主函数
    :return:
    """
    total_times=10

    #记录筛子1 的结果
    roll1_arr=np.random.randint(1,7,size=total_times)
    roll2_arr = np.random.randint(1, 7, size=total_times)
    result_arr=roll1_arr+roll2_arr

    hist,bins=np.histogram(result_arr,bins=range(2,14))
    print(hist)
    print(bins)
    #数据可视化
    plt.hist(roll_list,bins=range(2,14),normed=1,edgecolor="black",linewidth=1,rwidth=0.8)
    #设置X轴坐标点显示
    tick_labels = ['2点', '3点', '4点', '5点',
                   '6点', '7点', '8点', '9点',
                   '10点', '11点', '12点'
                   ]
    tick_pos = np.arange(2, 13)+0.5
    plt.xticks(tick_pos,tick_labels)

    plt.title('筛子点数统计')
    plt.xlabel('点数')
    plt.ylabel('频率')
    plt.show()
if __name__ == '__main__':
    main()

2、空气质量计算1.0

"""
功能:空气质量测量
版本:1.0
"""
def cal_linear(iaqi,iaqi_hi,bp_hi,val):
    """
    线性转换,范围缩放
    :return:
    """
    iaqi=(iaqi_hi-iaqi_lo)*(cp-bp_lo)/(bp_hi-bp_lo)+iaqi_lo
    return iaqi
def cal_pm_iaqi(pm_val):
    """
    计算pm2.5的IAQI
    :param pm_val:
    :return:
    """
    if 0 <=pm_val<36:
        iaqi=cal_linear(0,50,0,35,pm_val)
    elif 36<=pm_val<76:
        iaqi=cal_linear(50,100,35,75,pm_val)
    elif 76 <= pm_val < 116:
        iaqi = cal_linear(100, 150, 75, 115, pm_val)
    else:
        pass
def cal_co_iaqi(co_val):
    """
    计算co的IAQI
    :param co_val:
    :return:
    """
    if 0 <= co_val < 3:
        iaqi = cal_linear(0, 50, 0, 3,co_val)
    elif 3 <= co_val < 5:
        iaqi = cal_linear(50, 100, 3, 4, co_val)
    else:
        pass
def cal_aqi(param_list):
    """
    空气质量计算
    :param param_list:
    :return:
    """
    pm_val=param_list[0]
    co_val=param_list[1]
    pm_iaqi=cal_pm_iaqi(pm_val)
    co_iaqi = cal_co_iaqi(co_val)

    iaqi_list=[]
    iaqi_list.append(pm_iaqi)
    iaqi_list.append(co_iaqi)

    aqi=max(iaqi_list)
    return aqi
def main():
    print('请输入以下信息,用空格分割')
    input_str=input('(1)PM2.5 (2)CO:')
    str_list=input_str.split(' ')
    pm_val=float(str_list[0])
    co_val=float(str_list[1])

    param_list=[]
    param_list.append(pm_val)
    param_list.append(co_val)

    #调用AQI函数
    aqi_val=cal_aqi(param_list)
    print ('空气质量指数为:{}'.format(aqi_val))
if __name__ == '__main__':
    main()

 

猜你喜欢

转载自blog.csdn.net/weixin_42246997/article/details/89646402