[英]Python Input Decimal Numbers and Whole Numbers (Float)
我想输入一个数字,例如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','23 | 9','24 | 10','25 | 11','26 | 12'] ---------输入列表的示例:[5、5.5、6、7、8.5、10.5],基本上我想使用我输入的列表,如果上面的size_ids列表与输入列表中的第一件事匹配,它将在size_ids列表中获得该数字作为fsize。
[float(x) if '.' in x else int(x) for x in input('Sizes: ').split()]
那就是您想要的,但是在列表中混合使用不同的类型并不是一件好事,实际上您可以使用浮点数,并且不会停止任何操作。
如果只需要格式设置,则可以使用%g
说明符来打印浮点数,而不要在结尾加上0(存储浮点数和整数的混合不是一个好主意):
print(", ".join("%g" % x for x in select_size))
将打印
9.5, 9, 10, 10.5, 3, 4, 8, 7.5
当然,您可以选择通过手动将方括号添加到结果字符串中来添加方括号(但是您真的需要吗?)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.