我如何使用字符串获取和平均形式python?

时间:2015-04-21 16:48:33

标签: python python-3.x

我正在尝试使用此代码计算平均值:

average = print(please, please2,please3/3)
print(average)

但是出现此错误

Traceback (most recent call last):
  File "C:\Users\Philip\Desktop\Python Stuff\Python Task.py", line 31, in <module>
    average = print(please, please2,please3/3)
TypeError: unsupported operand type(s) for /: 'str' and 'int'

我不知道这意味着什么,无论我尝试什么,我都无法使用字符串please, please2, please3获得平均值。

2 个答案:

答案 0 :(得分:2)

您正在尝试将字符串除以整数:

please3/3

其中please3是代码中的字符串值:

>>> '10'/3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for /: 'str' and 'int'

您必须先将值转换为数字,我在此处选择了int()

>>> please3 = '10'
>>> please3 / 3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for /: 'str' and 'int'
>>> int(please3) / 3
3.3333333333333335

所有这些都不能给你一个平均值,因为对于平均值,你需要首先求和你的3个值:

(int(please) + int(please2) + int(please3)) / 3

如果您尽可能早地从字符串转换为整数,那就更好了,也许您正在从文件中读取此信息,此时您还要将字符串转换为

答案 1 :(得分:0)

你的问题是使用计算概念的语言Python称为输入。

想象一下,你有3个苹果,5个橙子和4个叉子。如果我告诉你把它们加在一起然后告诉我你吃了多少水果,你必须看看每个物体,决定它是否是水果,然后“转换”它,评估是否你应该把它们添加到你的总数中。有些是可转换的(如橙子和苹果),有些是不可转换的,有很多工作(如叉子)。

在这种情况下,即使您将这些变量读作“10”,“5”和“3”,编译器也不会知道它们是整数(缩写为“int”)并将它们视为“字符串” (缩写为'str')。你需要首先将它们“转换”为整数,然后编译器知道如何做'/'。

在这种情况下,您可以使用Python函数'int'来完成。

(int(please) + int(please2) + int(please3)) / 3

(你不需要在最后转换3,因为它已被识别为int。