首页 > 解决方案 > 转换为不带括号的字符串

问题描述

我正在用 Python 编写一个程序,以提供浮点数列表和目标值之间的最大差异。

我编写的代码有效,但输出并不完全符合我的预期:

#Convert list of floating-point numbers representing foot length in inches to shoe size.

# Input: length, floating-point number
foot_length = [10.6, 11.0, 11.1, 10.3, 10.5, 10.8]

target = 10.7

difference = []

# Iterate over elements in list
for length in foot_length:
    if length == 0:
        difference.append(length)
        max_difference = max(difference)
    elif length < target:
        difference.append([round(target - length, 2)])
        max_difference = max(difference)

    else:
        difference.append([float(round(length - target, 2))])
        max_difference = max(difference)
        
print('The greatest difference is', str(max_difference))

我期望的输出是:The greatest difference is 0.4.

我得到:The greatest difference is [0.4]

我认为通过强制转换为strthis 会删除方括号?

标签: python-3.xstring

解决方案


转换为字符串是个好主意,但您应该将打印行更改为:

print('The greatest difference is', str(max_difference)[1:-1])

这会从第二个字符到倒数第二个字符进行切片,从而删除[].


推荐阅读