如何在我的列表中的浮点数末尾添加后缀(如度量单位 cm、m、km 等)?

Posted

技术标签:

【中文标题】如何在我的列表中的浮点数末尾添加后缀(如度量单位 cm、m、km 等)?【英文标题】:How to add a suffix (like measure units cm, m, km, etc) at the end of a float in my list? 【发布时间】:2021-08-17 07:55:14 【问题描述】:

我必须制作一个程序,允许用户保存人们的个人信息,比如他们的姓氏、名字、性别、身高等等……我不允许使用字典,所以在推荐它时没有用。

我打印人的身高时不知道如何添加后缀“cm”。这是我要求输入高度的代码:

从第 68 行开始

taille = input("Entrez la taille de la personne en cm (0 à 250) :\n").strip()
isTailleValid = validation_taille(taille)
while not isTailleValid:
    taille = input("Taille invalide, entrez bien une valeur entre 0 et 250 :\n").strip()
    isTailleValid = validation_taille(taille)
    taille = float(taille)
personInf[Personne_taille] = taille

这是程序请求有关高度信息的地方(法语:taille),然后它将输入添加到 Personne_taille 索引下名为 Liste_info 的列表中:

Liste_info.append(personInf)

现在当我调用函数打印出结果时,它会显示如下:

有什么办法可以在175末尾加“cm”吗?

【问题讨论】:

isTailleValid ça pique les yeux :'( personInf[Personne_taille] = (taille)+" cm" 【参考方案1】:

我认为您必须将浮点数设为str 类型,然后合并字符串

while not isTailleValid:
    taille = input("Taille invalide, entrez bien une valeur entre 0 et 250 :\n").strip()
    isTailleValid = validation_taille(taille)
personInf[Personne_taille] = str(taille) + " cm"

【讨论】:

我以后可以将其恢复为浮动吗?因为该程序的选项之一是计算每个人的平均身高。 我认为你应该将高度作为浮点数存储在personInf中,当你显示它时,只需在值后面加上“cm”即可。 @Bao Tang 你真的有飘过吗?如果taille + " cm" 有效,那么两者都是字符串类型 是的,你可以简单地通过float("175") 将其转换为浮点数,float("175 cm") 不会工作,因为它无法转换为浮点类型 可以创建您自己的知道单位的python数据类型,例如pint.readthedocs.io/en/stable【参考方案2】:
while not isTailleValid:
    taille = input("Taille invalide, entrez bien une valeur entre 0 et 250 :\n").strip()
    isTailleValid = validation_taille(taille)
personInf[Personne_taille] = taille + "cm"

【讨论】:

以上是关于如何在我的列表中的浮点数末尾添加后缀(如度量单位 cm、m、km 等)?的主要内容,如果未能解决你的问题,请参考以下文章

在Python中的小数点后面的浮点数中添加零

做MODBUS RTU通讯时,如何读取设备寄存器40001中的浮点数

给出公差比较列表中的浮点数[重复]

在 OCaml 中访问 (int * float) 列表中的浮点数

如何检查一个值是不是是javascript中的浮点数[重复]

JavaSE-基本数据类型