在循环和范围中创建 3 个输出箱

问题描述 投票:0回答:1

我是数据分析新手,我正在尝试在 python 中创建 3 个 bin 的输出。我将在下面附上我的代码。我得到了一个输出,但它不在 3 个容器中。垃圾箱如下:

问题:该函数必须迭代score_list中的分数并将它们分入三个分箱: 负面(分数为 1-5) 中性(分数为 6-8) 积极(9-10 分)

根据客户提交的分数创建score_list
函数必须迭代 3 个 bin
函数的输出必须是三个语句
# Define a function score_counter

score_list = [1,2,3,4,5,6,7,8,9,10]
for score_counter in range(1, 11):
    if score_counter <= (5):
        print('Negative: ' + str(score_counter))
    elif score_counter == (6):
        print('Neutral: ' + str(score_counter))
    elif score_counter == (7):
        print('Neutral: ' + str(score_counter))
    elif score_counter == (8):
        print('Neutral: ' + str(score_counter))
    else:
        print('Positive: '+ str(score_counter))
    print()
    
python while-loop google-analytics range data-analysis
1个回答
0
投票

我认为您应该创建三个列表

negative = []
neutral  = []
positive = []
并使用
for
循环到
append()
值来更正列表。稍后您可以使用
len()
来计算每个列表。

score_list = [1,2,3,4,5,6,7,8,9,10]

negative = []
neutral  = []
positive = []

for item in score_list:
    if  1 <= item <= 5:
        negative.append(item)
    elif 6 <= item <= 8:
        neutral.append(item)
    elif 9 <= item <= 10: 
        positive.append(item)

print(negative, neutral, positive)
print(len(negative), len(neutral), len(positive))

还可以减少

if/elif/else

for item in score_list:
    if  item <= 5:
        negative.append(item)
    elif item <= 8:
        neutral.append(item)
    else:
        positive.append(item)

结果:

[1, 2, 3, 4, 5] [6, 7, 8] [9, 10]
5 3 2
© www.soinside.com 2019 - 2024. All rights reserved.