Python输入十进制数字和全数字(浮动)



我想拥有一个输入,我可以输入数字,例如8 8.5 7 3 4 5.5 8 9 10.5并进入列表。

我尝试了以下代码,但是:

我的输入:

尺寸:9.5 9 10 10.5 3 4 8 7.5

我的排名:

[9.5、9.0、10.0、10.5、3.0、4.0、8.0、7.5]

我想要的出现:

[9.5、9、10、10.5、3、4、8、7.5]

select_sizes = [float(x) for x in input('Sizes: ').split()]
print(select_size)

我有我已经刮过的列表------ size_ids列表:['91 | 10.5','150 | 9.5','28 | 4','29 | 5','22 | 8',]基本上,我想使用我输入的列表,如果上面的size_ids列表与输入列表中的第一件事匹配,则它将该数字在size_ids列表中以fsize为单位。

[float(x) if '.' in x else int(x) for x in input('Sizes: ').split()]

这就是您想要的,但是混合列表中的不同类型的不确定,实际上您可以使用浮子,并且不会刹车。

如果仅想要格式化,则可以使用%g指示符在不落后0s的情况下打印浮子(存储浮子和整数的混合不是一个好主意(:

print(", ".join("%g" % x for x in select_size))

将打印

9.5, 9, 10, 10.5, 3, 4, 8, 7.5

当然,您可以选择通过手动将它们附加到生成的字符串中来包含方括号(但是您真的需要它吗?(

最新更新