我需要使用名为sales
的多行字符串作为输入数据显示每个销售人员一周的总销售额。我已经能够成功地返回一个名为dic
的字典,但是销售数字仍然是字符串,我不能为每个销售人员合计它们,因为当我使用int()
方法解析它们时,它会抛出一个错误
还有一个附带说明,有人知道为什么我不能用(i.split(";")[1])
从输入中获取一周中的哪一天吗?谢谢
电流输出:
{'': '', 'Lauren': '91', 'Tim': '83'}
期望输出
{'Lauren': 10, 'Tim': 11}
我当前的代码:
sales = '''
Lauren;Tuesday;9
Tim;Wednesday;8
Tim;Thursday;3
Lauren;Friday;1
'''
def salesCalc(sales):
dic = {}
for i in sales.splitlines():
if i.split(";")[0] in dic:
dic[i.split(";")[0]] += i.split(";")[-1]
else:
dic[i.split(";")[0]] = i.split(";")[-1]
return dic
print(salesCalc(sales))
您当前的脚本有两个问题。首先,样本
sales
输入应该以第一行的数据开始。您以一个空行开始的版本,这会导致循环选择空字符串作为第一个键/值。其次,您需要用int()
来包装字典的RHS
,以处理实际的数字。正如以前一样,您正在进行字符串连接。将这两者结合起来:第一:不需要每次尝试获取元素时都拆分行。 第二:要将字符串转换为int,请使用
int
您非常接近,示例中有一个输入错误:-)
相关问题 更多 >
编程相关推荐