【发布时间】:2019-03-09 11:46:32
【问题描述】:
黑色像素用 B 表示,而非黑色像素用 N 表示。对于每张图像,计算黑色像素的百分比,精确到十分之一。
我需要输出为 80.0 % 但我得到了 0.0,我的代码有什么问题?任何意见,将不胜感激!谢谢!
line1 = "BBBBBBBBBB"
line2 = "BBNNBBNNBB"
line3 = "BBNNBBNNBB"
line4 = "BBBBBBBBBB"
line5 = "BBBBNNBBBB"
line6 = "BBNBBBBNBB"
line7 = "BBBNNNNBBB"
line8 = "BBBBBBBBBB"
data = ["BBBBBBBBBB", "BBNNBBNNBB", "BBNNBBNNBB", "BBBBBBBBBB", "BBBBNNBBBB", "BBNBBBBNBB", "BBBNNNNBBB", "BBBBBBBBBB"]
def percentBlack(data):
numB = 0
numP = 0
for line in data:
for pixel in line:
if pixel == "B":
numB += 1
numP += 1
return round((numB/numP)*100,1)
print(percentBlack(data))
【问题讨论】:
-
在计算 % 之前,您是否尝试过转换为浮点数/双精度数?你可能正在做一个整数除法:如果结果在 [0, 1] 之间,那么你可能会得到 0 !调试模式告诉你什么变量?
标签: python python-2.7