这个程序获取成绩表中数字的差异,并将它们与相应的班级配对
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'\n{c.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
我搜索过堆栈溢出,我找到的唯一例子是人们在int开头添加加号。在我的例子中,我也不能在程序的开头加符号(我不认为),因为我减去了分数表中数字的浮点值等等
替换格式,如:{:+.1f}或连接+如:'+'+
您是否尝试过循环使用并使它们都是字符串,如果int为正,则添加加号
您可以将格式字符串
{:.1f}
替换为{:+.1f}
,该字符串始终显示符号相关问题 更多 >
编程相关推荐