从销售清单中去除“$”符号
Stripping '$'-sign from sales list
为什么我无法在第一种代码方法中删除“$”,但我可以在第二种方法中删除?
方法一
sales = ['.21', '.29', '.52', '.13', '.39', '.82', '.85', '.98', '.41', '.59']
for element in sales:
element.strip('$')
print(element)
方法二
sales = ['.21', '.29', '.52', '.13', '.39', '.82', '.85', '.98', '.41', '.59']
for element in sales:
print(element.strip('$'))
如果要更改原始列表,则需要在for循环中分配变量并使用索引:
sales = ['.21', '.29', '.52', '.13', '.39', '.82', '.85', '.98', '.41', '.59']
for x in range(len(sales)):
sales[x] = sales[x].strip('$')
print(sales[x])
您似乎想将销售额视为数值变量
sales = ['.21', '.29', '.52', '.13', '.39', '.82', '.85', '.98', '.41', '.59']
sales = [float(element.strip('$')) for element in sales]
然后你可以打印它或求和它
print("total sales: {t:.2f}".format(t=sum(sales)))
str.strip 方法不修改给定的字符串,而是 returns 官方文档中指定的结果。
Return a copy of the string with the leading and trailing characters
removed.
因为 element.strip('$')
returns 结果而不是修改 element
此代码不执行任何操作。
要将其转换为美分(永远不要使用浮点数进行货币计算,因为浮点数不精确,您可以这样做:
sales_in_cents = [int(element.strip('$').replace('.','')) for element in sales]
显示总计 $...
print(f'Total sales : {sum(sales_in_cents)/100:0.2f}'
用美分进行所有计算(包括总和)并转换为 $(仅在需要时除以 100。
为什么我无法在第一种代码方法中删除“$”,但我可以在第二种方法中删除?
方法一
sales = ['.21', '.29', '.52', '.13', '.39', '.82', '.85', '.98', '.41', '.59']
for element in sales:
element.strip('$')
print(element)
方法二
sales = ['.21', '.29', '.52', '.13', '.39', '.82', '.85', '.98', '.41', '.59']
for element in sales:
print(element.strip('$'))
如果要更改原始列表,则需要在for循环中分配变量并使用索引:
sales = ['.21', '.29', '.52', '.13', '.39', '.82', '.85', '.98', '.41', '.59']
for x in range(len(sales)):
sales[x] = sales[x].strip('$')
print(sales[x])
您似乎想将销售额视为数值变量
sales = ['.21', '.29', '.52', '.13', '.39', '.82', '.85', '.98', '.41', '.59']
sales = [float(element.strip('$')) for element in sales]
然后你可以打印它或求和它
print("total sales: {t:.2f}".format(t=sum(sales)))
str.strip 方法不修改给定的字符串,而是 returns 官方文档中指定的结果。
Return a copy of the string with the leading and trailing characters removed.
因为 element.strip('$')
returns 结果而不是修改 element
此代码不执行任何操作。
要将其转换为美分(永远不要使用浮点数进行货币计算,因为浮点数不精确,您可以这样做:
sales_in_cents = [int(element.strip('$').replace('.','')) for element in sales]
显示总计 $...
print(f'Total sales : {sum(sales_in_cents)/100:0.2f}'
用美分进行所有计算(包括总和)并转换为 $(仅在需要时除以 100。