使用 abs 后我无法添加 str 文本,因为它给了我一个错误。 如何在打印消息的末尾添加"kg"。
这是针对 python 的。
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'((( 类型错误:不支持的操作数 + 的类型:"浮点数"和"str">
我希望它在打印语句的末尾添加"kg">
检查括号的位置:
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/
对于 python 3.6 及更高版本,请使用:
print(f"{names_array[z - 1]}, Your weight down by: + {abs(weights_array[z - 1] - new_weights_array[z - 1])} kg")
否则,您可以使用 format(( 或 % 运算符:
print("{}, Your weight down by: + {} kg}".format({names_array[z - 1], abs(weights_array[z - 1] - new_weights_array[z - 1])))
通过"+"进行字符串连接是一种不好的做法。