【问题标题】:'<' not supported between instances of 'numpy.ndarray' and 'str''numpy.ndarray' 和 'str' 的实例之间不支持'<'
【发布时间】:2021-05-01 10:07:37
【问题描述】:

我正在做一个关于温度和加湿控制系统的项目。我使用 skfuzzy 作为工具。在尝试按自己的喜好进行编辑后,我遇到了一些错误。

fanspeed = ctrl.ControlSystemSimulation(fanspeed_ctrl)

fanspeed.input['temperature'] = 40
fanspeed.input['humidify'] = 10

fanspeed.compute()
fanspeed.output['fan']
fan.view(sim=fanspeed)
print("Fan speed =",fanspeed.output['fan'])

上面的代码运行良好,但是当我希望它接受用户输入而不是将输入放入代码时,所以我尝试像这样进行更改

fanspeed = ctrl.ControlSystemSimulation(fanspeed_ctrl)

temp = input("temp=")
hum = input("hum=")
fanspeed.input['temperature'] = temp
fanspeed.input['humidify'] = hum
fanspeed.compute()
fanspeed.output['fan']
fan.view(sim=fanspeed)
print("Fan speed =",fanspeed.output['fan'])

任何人都可以提供一些建议会很好:DThankssss

【问题讨论】:

    标签: python fuzzy-logic skfuzzy


    【解决方案1】:

    用户输入是str 类型。 使用temp = int(input("temp="))hum = int(input("hum="))

    【讨论】:

    • 哇,这是一个快速的反应,谢谢你的帮助,祝你有一个美好的一天,真的很感激:D
    【解决方案2】:
    temp = int(input("temp="))
    hum = int(input("hum="))
    fanspeed.input['temperature'] = temp
    fanspeed.input['humidify'] = hum
    fanspeed.compute()
    fanspeed.output['fan']
    fan.view(sim=fanspeed)
    print("Fan speed =",fanspeed.output['fan'])
    

    输入函数返回一个字符串。你需要的是一个int。这就是为什么第一个示例有效的原因,因为您将 int 分配给 temp 和 hum 变量,而第二个示例无效,因为您为其分配了 str。

    【讨论】:

      猜你喜欢
      • 2018-09-08
      • 2020-05-19
      • 2021-08-10
      • 2019-11-18
      • 2017-09-22
      • 1970-01-01
      • 2018-03-06
      • 2021-11-21
      • 1970-01-01
      相关资源
      最近更新 更多