【问题标题】:Turning Printed Answers into a List将打印的答案变成列表
【发布时间】:2014-11-07 14:53:10
【问题描述】:

我的目标是让 range(11) 上可被 2 整除的所有值在列表中可用,以便找到总和。这是我当前的代码:

y = list(range(11))
for x in list(range(11)):
    if x % 2 == 0:
        print(x)
    else:
        print(0)

我的输出如下所示:

0
0
2
0
4
0
6
0
8
0
10

【问题讨论】:

标签: python list printing sum range


【解决方案1】:

声明一个空列表变量,并通过append函数将项目附加到声明的列表中。

L = []
y = list(range(11))
for x in list(range(11)):
    if x % 2 == 0:
        L.append(x)
    else:
        L.append(0)
print(L)

输出:

[0, 0, 2, 0, 4, 0, 6, 0, 8, 0, 10]

【讨论】:

  • 感谢您的帮助,但是 L = [] 在代码中是什么意思?
  • 我们在开头为L变量分配了一个空列表。
【解决方案2】:

代码:

results = []
y = list(range(11))
for x in y:
    if not x % 2:
        results.append(x)

print 'Numbers divisible by 2: {}'.format(results)
print 'Sum of results: {}'.format(sum(results))

输出:

Numbers divisible by 2: [0, 2, 4, 6, 8, 10]
Sum of results: 30

【讨论】:

    【解决方案3】:
    a = []
    y = list(range(11))
    for x in list(range(11)):
        if x % 2 == 0:
            a.append(x)
        else:
            print(0)
    
    print (a, sum(a))
    

    或者只是这样做:-

    l = [x for x in range(11) if x%2==0]
    print (l, sum(l))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-15
      • 1970-01-01
      • 1970-01-01
      • 2021-03-10
      • 1970-01-01
      • 2023-01-29
      相关资源
      最近更新 更多