如何在 Python 中的字符串中的数字前面添加“+”号?

Posted

技术标签:

【中文标题】如何在 Python 中的字符串中的数字前面添加“+”号?【英文标题】:How to add a '+' sign in front of a number in a string in Python? 【发布时间】:2021-01-31 13:57:51 【问题描述】:

该程序获取成绩列表中数字的差异,并将它们与相应的班级配对。

classlist = ['CLASS1', 'CLASS2', 'CLASS3', 'CLASS4', 'CLASS5', 'CLASS6', 'CLASS7']
gradelist1 = ['91', '--', '95', '0']
gradelist2 = ['90', '80', '98', '96']

def gradeChangeShow():
    difference = []
    gradelist1_change = [g.replace('--', '0.0') for g in gradelist1]
    gradelist2_change = [g.replace('--', '0.0') for g in gradelist2]
    for i in range(len(gradelist1)):
        difference = [":.1f".format(float(a) - float(b)) for a, b in zip(gradelist2_change, gradelist1_change)]
    statement = [f'\nc.rstrip(): d' for c, d in zip(classlist, difference) if float(d) != 0.0]
    #maybe something here
    comma_delete = ','.join(statement)
    if difference:
        return comma_delete.replace(',', '')
    else:
        return ('\nNo grade changes.')
        
print(gradeChangeShow())

我的问题是,我如何获得如下所示的输出:

CLASS1: -1.0
CLASS2: 80.0
CLASS3: 3.0
CLASS4: 96.0

到这里:

CLASS1: -1.0
CLASS2: +80.0
CLASS3: +3.0
CLASS4: +96.0

我搜索了 Stack Overflow,我发现的唯一示例是人们在整数的开头添加加号。在我的情况下,我也不能在程序的开头添加符号(我不认为),因为我减去了成绩列表中数字的浮点值等等。

【问题讨论】:

【参考方案1】:

您可以将格式字符串:.1f 替换为:+.1f,它始终显示符号。

【讨论】:

只需:+ 即可。【参考方案2】:

您是否尝试过循环遍历并将它们全部设为字符串,并在 int 为正数时添加加号。

【讨论】:

【参考方案3】:

像这样替换格式::+.1f 或像这样连接一个+:'+' + ...

【讨论】:

以上是关于如何在 Python 中的字符串中的数字前面添加“+”号?的主要内容,如果未能解决你的问题,请参考以下文章

在python列表中的每个项目的字符串前面添加一个字符串

Python如何添加“0”。在数字前面

python字符串中怎么忽略空格前面的数字

在 Python 中添加一个字符串

python - 如何修改数组中的字符串? [复制]

记一次面试过程中的Python编程题