编辑代码

# coding:utf-8
#JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。 
# 定义一个字典,存储不同阶段猪的正常体温范围(单位:摄氏度)
pig_temperature = {
    "刚生出来的小猪": (38.5, 39.5),
    "哺乳猪到断奶期间": (38.7, 39.7),
    "断奶猪": (38.8, 39.8),
    "架子猪": (38.5, 39.5),
    "育肥猪": (38.3, 39.3),
    "妊娠母猪": (38.2, 39.2),
    "母猪产前24小时": (38.2, 39.2),
    "母猪产前12小时": (38.4, 39.4),
    "母猪产前6小时": (38.5, 39.5),
    "生第一头小猪时": (38.9, 39.9),
    "产后12小时": (39.2, 40.2),
    "产后24小时": (39.5, 40.5),
    "母猪产后一周到断奶": (38.,8 , 39.,8 ),
    "断奶后一天": (38.,1 , 39.,1 ),
    "种公猪": (37.,9 , 38.,9 )
}

# 定义一个函数,根据用户输入的阶段名称,查询并返回对应的正常体温范围
def query_temperature(stage):
    # 如果输入的阶段名称在字典中存在,就返回对应的值
    if stage in pig_temperature:
        return pig_temperature[stage]
     # 否则,就提示用户输入无效,并返回空值
     else:
         print("请输入有效的阶段名称!")
         return None

# 定义一个函数,根据用户输入的体温和阶段名称,判断并返回是否发烧
def check_fever(temperature, stage):
     # 如果输入的体温是数字,并且在字典中存在对应的阶段名称,就进行判断
     if temperature.isdigit() and stage in pig_temperature:
         # 将输入的体温转换为浮点数
         temperature = float(temperature)
         # 获取对应阶段的正常体温范围
         normal_range = pig_temperature[stage]
         # 如果输入的体温超出正常范围,就返回True(发烧)
         if temperature < normal_range[0] or temperature > normal_range[1]:
             return True
          # 否则,就返回False(不发烧)
          else:
              return False
      # 否则,就提示用户输入无效,并返回空值
      else:
          print("请输入有效的体温和阶段名称!")
          return None

# 定义一个循环,让用户反复输入阶段名称和体温,直到输入"退出"为止
while True:
     # 提示用户输入阶段名称,并去除首尾空格
     stage = input("请输入要查询或判断的阶段名称(如:刚生出来的小猪),或输入“退出”结束程序:").strip()
     
      # 如果用户输入"退出",就跳出循环,并打印结束语
      if stage == '退出':
          break
     
      # 否则,就提示用户输入体温,并去除首尾空格
      else:
          temperature = input("请输入要查询或判断的体温(如:37),或直接按回车键跳过: