2016-03-27 47 views
-1

我在Python 3.5.1中创建了一个小巧的bmi计算器,但奇怪的是它不起作用。在Python 2.7中它正在工作,但它不在这里工作。我的代码是:这个错误意味着什么以及如何解决它?

print ('Geef uw gewicht in kg: ') 
gewicht_kg = input() 
print ('Geef uw lengte in meters: ') 
lengte_meters = input() 
bmi = gewicht_kg/(lengte_meters * lengte_meters) 

该字符串是用荷兰语写的,但没关系。如果我运行该程序,输入不工作(所以我可以输入任何我想要的),但是,当它假设进行计算,它提供了以下错误:

can't multiply sequence by non-int of type 'str' 

这是什么意思,我该如何解决它?

+3

我打算猜测,并说你现在正在Python 3上运行它。这意味着你的输入应该是'int(input())'。另外,对于你的python 2代码,你应该使用'raw_input'而不是'input',这意味着对于Python 2你应该有'int(raw_input())' – idjaw

+0

@idjaw哦忘了说,但我正在编程Python 3.5.1。输入确实有效,但计算不起作用。然后它说我得到一个''不能通过'str'''类型的非int类型的错误来乘法序列。 –

+0

用相关信息和最新的代码更新您的原始问题。不要把它在评论 – idjaw

回答

1

错误消息指示Python正在尝试将字符列表与字符串值相乘,这没有任何意义。事实上:你的输入是字符串(并且应该不加引号),所以它必须首先被转换成数字格式。

使用

gewicht_kg = float(raw_input()) 

,并为其他类似的输入,它会发展得更好。

+0

我使用Python 3.5.1,所以这是行不通的。从前面的问题中,我发现我必须使用input(),而且工作。 –

相关问题