Python 预期类型';int';得到';浮动';相反 weight_-lbs=输入('weight(lbs):')) 重量_kg=int(重量_lbs*0.45) 打印(重量×千克)

Python 预期类型';int';得到';浮动';相反 weight_-lbs=输入('weight(lbs):')) 重量_kg=int(重量_lbs*0.45) 打印(重量×千克),python,python-3.x,Python,Python 3.x,错误:预期类型“int”改为“float” 请告知。您输入的重量_-lbs是字符串,而不是数字。将其转换为int或float weight_kg = int( float(weight_lbs) * 0.5) (还有,一磅不是半公斤。为什么不更准确一点呢?你有一台电脑!)你输入的重量\u lbs是一个字符串,而不是一个数字。将其转换为int或float weight_kg = int( float(weight_lbs) * 0.5) (还有,一磅不是半公斤。为什么不更准确一点呢?你确实有一

错误:预期类型“int”改为“float”


请告知。

您输入的
重量_-lbs
是字符串,而不是数字。将其转换为
int
float

weight_kg = int( float(weight_lbs) * 0.5)

(还有,一磅不是半公斤。为什么不更准确一点呢?你有一台电脑!)

你输入的
重量\u lbs
是一个字符串,而不是一个数字。将其转换为
int
float

weight_kg = int( float(weight_lbs) * 0.5)

(还有,一磅不是半公斤。为什么不更准确一点呢?你确实有一台电脑!)

我试过你的代码,没有遇到同样的问题,尽管我看到了一个不同的问题

此代码:

weight_kg=int(weight_lbs*0.5)
应该是:

weight\u kg=int(weight\u lbs)*0.5
否则,将出现以下错误:

TypeError:无法将序列与“float”类型的非int相乘


原因是您的代码将字符串乘以数字。您需要首先将
input()
返回的字符串转换为数字,然后进行乘法。

我尝试了您的代码,但没有遇到相同的问题,尽管我看到了不同的问题

此代码:

weight_kg=int(weight_lbs*0.5)
应该是:

weight\u kg=int(weight\u lbs)*0.5
否则,将出现以下错误:

TypeError:无法将序列与“float”类型的非int相乘

原因是您的代码将字符串乘以数字。您需要首先将
input()
返回的字符串转换为数字,然后进行乘法运算。

您可以尝试以下操作:

weight_lbs = input('weight (lbs): ')
weight_kg = int(float(weight_lbs) * 0.5)
print(weight_kg)
您可以尝试以下方法:

weight_lbs = input('weight (lbs): ')
weight_kg = int(float(weight_lbs) * 0.5)
print(weight_kg)
这对我很有用:

weight_lbs = input('weight (lbs): ')
# I just converted the type of "weight_lbs" to Float and removed the last parenthesis 
weight_kg = float(weight_lbs) * 0.5
print(weight_kg)
这对我很有用:

weight_lbs = input('weight (lbs): ')
# I just converted the type of "weight_lbs" to Float and removed the last parenthesis 
weight_kg = float(weight_lbs) * 0.5
print(weight_kg)


例如,您需要更改错误消息的标题。并尝试将代码包装在``可能的重复项之间。例如,您需要更改错误消息的标题。并尝试将代码包装在`` int的可能副本应该是float,这取决于OP想要什么。好吧,如果我的权重为33.4磅,您的代码就会中断,这是OP问题的有效输入吗?问题中没有足够的信息可以确定。谢谢,蒙德金。事实上,你的回答是正确的。右括号符号应位于乘法符号之前。代码现在运行得很好。int应该是浮动的,这取决于OP想要什么。好吧,如果我的权重为33.4磅,那么您的代码就会中断,这是OP问题的有效输入吗?问题中没有足够的信息可以确定。谢谢,蒙德金。事实上,你的回答是正确的。右括号符号应位于乘法符号之前。代码现在运行良好。int应该被删除(我猜)-或者您需要删除最后一句要求accuracy@chris-培根真的很难说。。。OP可能需要整数,他们已经在显式地尝试强制转换something@chris-p-bacon其中一个选择是关于他们希望如何表示数据,另一个是对度量的相对关系的错误表述。乘以0.45是正确的。int应该被删除(我猜)-或者你需要删除最后一句要求accuracy@chris-培根真的很难说。。。OP可能需要整数,他们已经在显式地尝试强制转换something@chris-p-bacon其中一个选择是关于他们希望如何表示数据,另一个是对度量的相对关系的错误陈述。乘以0.45.Hi Nikos是正确的。这个代码也有用。你好,尼科斯。这段代码也有效。这也有效。问题出在右括号符号的位置上。这也适用。问题在于右括号符号的位置。