Python 使用用户输入的数据进行整数线性规划

Python 使用用户输入的数据进行整数线性规划,python,linear-programming,Python,Linear Programming,我试图解决线性规划问题,但当我从用户输入中插入数据时,我卡住了。我试图为每种产品的利润向字典输入数据,但代码错误地说是TypeError:+=“int”和“str”的操作数类型不受支持 #创建产品和服务的列表 产品与服务=[“草药产品”、“大香根”、“智商根”、“患者”] #用户输入数据 HP_利润=输入(“\n输入一瓶草药产品的利润:”) RJ_利润=输入(“输入一包巨型基数的利润:”) RIQ_利润=输入(“输入一包基数IQ的利润:”) Pt_利润=输入(“输入一次拔罐治疗中一名患者的利润

我试图解决线性规划问题,但当我从用户输入中插入数据时,我卡住了。我试图为每种产品的利润向字典输入数据,但代码错误地说是TypeError:+=“int”和“str”的操作数类型不受支持

#创建产品和服务的列表
产品与服务=[“草药产品”、“大香根”、“智商根”、“患者”]
#用户输入数据
HP_利润=输入(“\n输入一瓶草药产品的利润:”)
RJ_利润=输入(“输入一包巨型基数的利润:”)
RIQ_利润=输入(“输入一包基数IQ的利润:”)
Pt_利润=输入(“输入一次拔罐治疗中一名患者的利润:”)
#创建了每个产品和服务的利润字典
利润={'草药产品]:惠普大学利润,
“巨型基数”:RJ_利润,
“基数IQ”:RIQ_利润,
“患者”:Pt_利润}
#创建“prob”变量以包含问题数据
prob=LpProblem(“FOM企业利润问题”,LpProblem)
#创建一个名为“no_prodserv”的字典来包含引用变量的值,并将其设置为整数
no_prodserv=LpVariable.dicts(“产品数量”,服务数量,cat='Integer')
#目标函数首先添加到“prob”中
prob+=lpSum([产品和服务中的利润[i]*no_prodserv[i]),“FOM企业一个月的总利润为”
想想错误:

TypeError:不支持+=:'int'和'str'的操作数类型

您正在尝试将字符串添加到整数

代码中只有一个“+=”实例,即:

prob += lpSum([profits[i]*no_prodserv[i] for i in Products_Services]), "Total profit of FOM Enterprise in a month is "
这个表达式的计算结果显然是字符串

PS:在上面的表达式中,您有一个元组(函数lpSum返回的一些值和一个由coma分隔的字符串),如果没有特别重载,您就不能在不同的数据类型上使用“+”运算符(在本例中,元组和整数不是)

hello=123,“abc”
世界=1
打印(键入(hello))#
hello+=world#TypeError:只能将元组(而不是“int”)连接到元组

基于上述“测试”,我猜测给定的错误不会发生在作为示例提供的代码中…

您忘记问一个问题我无法将用户输入数据插入字典,这就是问题所在。
hello = 123, "abc"
world = 1

print(type(hello)) # <class 'tuple'>
hello += world # TypeError: can only concatenate tuple (not "int") to tuple