首页 > 解决方案 > 如何在使用 abs 后添加 str 文本(+ 的不支持的操作数类型:'float' 和 'str')

问题描述

使用 abs 后我无法添加 str 文本,因为它给了我一个错误。我如何在打印信息的末尾添加“kg”。

这是给蟒蛇的。

for z in range(1, 4):
if weights_array[z - 1] > new_weights_array[z - 1]:
    print(names_array[z - 1],
          'Your weight down by: ' + str(abs(weights_array[z - 1] - new_weights_array[z - 1] + 'kg')))
elif weights_array[z - 1] < new_weights_array[z - 1]:
    print(names_array[z - 1],
          'Your weight went up by: ' + str(abs(weights_array[z - 1] - new_weights_array[z - 1] + 'kg')))
else:
    print(names_array[z - 1], 'Your weight stayed the same')

'你的体重下降:' + str(abs(weights_array[z - 1] - new_weights_array[z - 1] + 'kg'))) TypeError: +: 'float' 和 'str' 不支持的操作数类型

我希望它在我的打印语句末尾添加“kg”

标签: python-3.x

解决方案


检查括号的位置:

print(names_array[z - 1], 'Your weight down by: ' + str(abs(weights_array[z - 1] - new_weights_array[z - 1])) + 'kg')

'Your weight went up by: ' + str(abs(weights_array[z - 1] - new_weights_array[z - 1])) + 'kg')

完整代码:

weights_array = [55,82,75,102]
new_weights_array = [60,79,76,95]
names_array = ['ana', 'john', 'david', 'mark']

for z in range(1, 4):
    if weights_array[z - 1] > new_weights_array[z - 1]:
        print(names_array[z - 1], 'Your weight down by: ' + str(abs(weights_array[z - 1] - new_weights_array[z - 1])) + 'kg')
    elif weights_array[z - 1] < new_weights_array[z - 1]:
        print(names_array[z - 1],
              'Your weight went up by: ' + str(abs(weights_array[z - 1] - new_weights_array[z - 1])) + 'kg')
    else:
        print(names_array[z - 1], 'Your weight stayed the same')

输出:

ana Your weight went up by: 5kg
john Your weight down by: 3kg
david Your weight went up by: 1kg

笔记:

我建议以这种方式打印:

print ('{}, Your weight down by: {} kg'.format(names_array[z - 1],abs(weights_array[z - 1] - new_weights_array[z - 1]) ))

基本格式

简单的位置格式可能是最常见的用例。

Old
'%s %s' % ('one', 'two')
New
'{} {}'.format('one', 'two')
Output
one two

Old
'%d %d' % (1, 2)
New
'{} {}'.format(1, 2)
Output
1 2

此页面上的所有示例都可以使用 Python 2.7、3.2、3.3、3.4 和 3.5 开箱即用,无需任何其他库:

https://pyformat.info/


推荐阅读