天气预测程序


start_probability = {'Rainy': 0.6, 'Sunny': 0.4}

transition_probability = {
    'Rainy': {'Rainy': 0.7, 'Sunny': 0.3},
    'Sunny': {'Rainy': 0.4, 'Sunny': 0.6},
}

emission_probability = {
    'Rainy': {'walk': 0.1, 'shop': 0.4, 'clean': 0.5},
    'Sunny': {'walk': 0.6, 'shop': 0.3, 'clean': 0.1},
}

v1 = start_probability.get('Rainy') * emission_probability.get('Rainy').get('walk')
Rainy = [v1]

v11 = start_probability.get('Sunny') * emission_probability.get('Sunny').get('walk')
Sunny = [v11]
array_1 = [v1, v11]
max_1 = 0
for i in array_1:
    if i > max_1:
        max_1 = i
for i in array_1:
    if max_1 in Rainy:
        print('Rainy')
        break
    if max_1 in Sunny:
        print('Sunny')
        break

v21_1 = v1 * transition_probability.get('Rainy').get('Rainy') * emission_probability.get('Rainy').get('shop')
v21_2 = v11 * transition_probability.get('Sunny').get('Rainy') * emission_probability.get('Rainy').get('shop')

v22_1 = v1 * transition_probability.get('Rainy').get('Sunny') * emission_probability.get('Sunny').get('shop')
v22_2 = v11 * transition_probability.get('Sunny').get('Sunny') * emission_probability.get('Sunny').get('shop')
max2 = 0
array = [v21_1, v21_2, v22_1, v22_2]
Rainy = [v21_1, v21_2]
Sunny = [v22_1, v22_2]
for i in array:
    if i > max2:
        max2 = i
for i in array:
    if max2 in Rainy:
        print('Rainy')
        break
    if max2 in Sunny:
        print("Sunny")
        break
v31_1 = v21_1 * transition_probability.get('Rainy').get('Rainy') * emission_probability.get('Rainy').get('clean')
v31_2 = v21_2 * transition_probability.get('Rainy').get('Rainy') * emission_probability.get('Rainy').get('clean')
v31_3 = v22_1 * transition_probability.get('Sunny').get('Rainy') * emission_probability.get('Rainy').get('clean')
v31_4 = v22_2 * transition_probability.get('Sunny').get('Rainy') * emission_probability.get('Rainy').get('clean')
v32_1 = v21_1 * transition_probability.get('Rainy').get('Sunny') * emission_probability.get('Sunny').get('clean')
v32_2 = v21_2 * transition_probability.get('Rainy').get('Sunny') * emission_probability.get('Sunny').get('clean')
v32_3 = v22_1 * transition_probability.get('Sunny').get('Sunny') * emission_probability.get('Sunny').get('clean')
v32_4 = v22_2 * transition_probability.get('Sunny').get('Sunny') * emission_probability.get('Sunny').get('clean')

max3 = 0
array3 = [v31_1, v31_2, v31_3, v31_4, v32_1, v32_2, v32_3, v32_4]
Rainy = [v31_1, v31_2, v31_3, v31_4]
Sunny = [v32_1, v32_2, v32_3, v32_4]
for i in array3:
    if i > max3:
        max3 = i
for i in array:
    if max3 in Rainy:
        print('Rainy')
        break
    if max3 in Sunny:
        print('Sunny')
        break
 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值