import numpy as np


class متغیر(object):
    def __init__(خود, نام, وحدت, کم=None, زیادہ=None):
        خود.نام = نام
        خود.وھدت = وحدت
        خود.کم = کم or -np.inf
        خود.زیادہ = زیادہ or np.inf

    def __str__(خود):
        return خود.نام


بارش = متغیر('بارش', وحدت='ملیمیٹر', کم=0)
شمسی_تابکاری = متغیر('شمسی_تابکاری', وحدت='', کم=0)
درجہ_حرارت_زیادہ = متغیر('درجہ_حرارت_زیادہ', وحدت='سیلسیس', کم=0)
درجہ_حرارت_کم = متغیر('درجہ_حرارت_کم', وحدت='سیلسیس', کم=0)
درجہ_حرارت_اوسط = متغیر('درجہ_حرارت_اوسط', وحدت='سیلسیس', کم=0)


class _متغیرات(object):
    def __init__(خود, ف_متغیرات):
        خود.متغیرات = {str(م): م for م in ف_متغیرات}

    def جوڑانا(خود, نیا):
        خود.متغیرات[str(نیا)] = نیا

    def ھٹانا(خود, نام):
        خود.متغیرات.pop(str(نام))

    def __getitem__(خود, چیز):
        return خود.متغیرات[چیز]

    def __iter__(خود):
        for م in خود.متغیرات:
            yield str(م)


متغیرات = _متغیرات(
    [بارش, شمسی_تابکاری, درجہ_حرارت_زیادہ, درجہ_حرارت_کم, درجہ_حرارت_اوسط]
)
