在python中使用链接列表和模式 [英] Using Linked lists and patterns in python

查看:47
本文介绍了在python中使用链接列表和模式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尝试编写一个函数,该函数将遍历链表,将所有奇数加起来,然后显示总和.这是我目前所拥有的:

Trying to write a function that will iterate over the linked list, sum up all of the odd numbers and then display the sum. Here is what I have so far:

from List import *

def main():
   array = eval(input("Give me an array of numbers: "))
   ArrayToList(array)
   print(array[0])
   print(array[1])
   print(array[2])
   print(array[3])
   print(sumOdds(array))


def isOdd(x):
    return x % 2 != 0

def sumOdds(array):
    if (array == None):
        return 0
    elif (isOdd(head(array))):
        return head(array) + sumOdds(tail(array))
    else:
        return sumOdds(tail(array))
main()

我无法让它实际打印总和.有人可以帮我吗?

I can't get it to actually print the sum though. Can anybody help me out with that?

这是我运行程序时的输出:

Here is the output of the program when I run it:

$ python3 1.py
Give me an array of numbers: [11, 5, 3, 51]
Traceback (most recent call last):
  File "1.py", line 22, in <module>
    main()
  File "1.py", line 10, in main
    print(sumOdds(array))
  File "1.py", line 19, in sumOdds
    return head(array) + sumOdds(tail(array))
  File "1.py", line 18, in sumOdds
    elif (isOdd(head(array))):
  File "/Users/~/cs150/practice3/friday/List.py", line 34, in head
    return NodeValue(items)
  File "/Users/~/cs150/practice3/friday/List.py", line 12, in NodeValue
    def NodeValue(n): return n[0]
  TypeError: 'int' object is not subscriptable

推荐答案

在Python中,您要遍历如下列表:

In Python you iterate through a list like this:

list_of_numbers = [1,4,3,7,5,8,3,7,24,23,76]
sum_of_odds = 0
for number in list_of_numbers:
    # now you check for odds
    if isOdd(number):
        sum_of_odds = sum_of_odds + number

print(sum_of_odds)

列表也是仅在您的计算机上的模块.我不知道里面有什么.因此,在 ArrayToList(array)之后,我无济于事.

List is also a module only on your computer. I do not know what is inside. Therefore, I can not help you after ArrayToList(array).

这篇关于在python中使用链接列表和模式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆